我有两个访问表
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 :(得分: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中的数字。要包括在一个表中而不是另一个表中具有count> = 6的数字,您将需要为a添加Join和“isnull”。 count和b.count值。即; isnull(a.count,0)+ isnull(b.count,0)
答案 1 :(得分: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
或者,如果count是一个字段,而不是一个计算:
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
答案 2 :(得分: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));