2009-11-13 56 views
0

我有兩個訪問表訪問查詢篩選,並結合數

tableA 

num count 
1 7 
2 8 
3 9 
4 9 
5 13 
6 6 


tableB 

num count 
0 1 
1 14 
2 12 
3 5 
4 5 
5 11 
6 5 

如何創建一個訪問查詢,將忽略這些都是數字的任何兩個表的計數低於6。即0,3,4 & 6和創建表與數字的結合通過數排序其餘

tableC 

num count 
5  24 
1  21 
2  20 

任何幫助讚賞

回答

0

你可以嘗試這樣的事情

SELECT DISTINCT tableA.num, [tableA].[val]+[tableB].[val] AS Expr1 
FROM tableA INNER JOIN tableB ON tableA.num = tableB.num 
WHERE (((tableA.val)>=6) AND ((tableB.val)>=6)); 
+0

> =,而不是> ..... – 2009-11-13 11:47:32

+0

dup http://stackoverflow.com/questions/1728698/access-query -to-濾波 - 結合-數/ 1728719#1728719 – 2009-11-13 11:50:30

0

如何

SELECT x.Num, x.Count FROM (
    SELECT Num, Count(*) 
    FROM tableA 
    GROUP BY Num 
    HAVING Count(*)>6 

    UNION ALL 

    SELECT Num, Count(*) 
    FROM tableB 
    GROUP BY Num 
    HAVING Count(*)>6) x 

或者,如果計數是場,而不是一個計算:

SELECT x.Num, x.Count FROM (
    SELECT Num, Count 
    FROM tableA 
    WHERE Count>6 

    UNION ALL 

    SELECT Num, Count 
    FROM tableB 
    WHERE Count>6) x 
+1

你;再與他的數列 – 2009-11-13 11:48:26

+0

是混淆計數操作,我注意到,並在您發佈的時候正在糾正此問題,我認爲:) – Fionnuala 2009-11-13 11:51:32

+1

我仍然認爲UNION查詢是必需的。 – Fionnuala 2009-11-13 11:52:10

1

也許....

SELECT a.num, a.count + b.count 
FROM tableA a 
JOIN tableB b on b.num = a.num 
WHERE a.count >= 6 
AND b.count >= 6 

這將包括在A和B這兩個數字爲包括數數> = 6是一個表,而不是其他,你必須添加一個加入和「ISNULL」爲a.count和b.count的值。即; ISNULL(a.count,0)+ ISNULL(b.count,0)

+0

re isnull stuff ...你會需要一個左/右/全加入然後 – 2009-11-13 11:43:21