访问查询以过滤和组合计数

时间:2009-11-13 11:33:28

标签: sql ms-access

我有两个访问表

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

任何帮助表示赞赏

3 个答案:

答案 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));