基于两个表标准的SQL MS访问求和结果

时间:2015-01-27 21:48:15

标签: sql join ms-access-2007

我被要求查看一张桌子的总数是否超过某个值。但是,我需要将这些标识符分组的标识符存储在另一个表中。所以我想出了如何隔离我需要的内容然后复制到excel中。但是我确实理解SQL中求和的原理,因为我自己的查询看起来像这样:

SELECT * FROM
(SELECT ID, SUM(Table1.Amount) AS Subtotal FROM Table1 WHERE LineNumber = 1 GROUP BY ID) AS a, Table2 AS b
WHERE a.ID = b.ID 
AND a.Subtotal > b.Threshold 

在这种情况下,我需要求和的总数都与原始表(Table1)具有相同的LineNumber,因此很容易与不同表中的值进行比较。我想要做的是能够将子查询连接回原始表,然后GROUPBY来自其他表的标识符和总和,添加一个标准,表1中的原始ID必须是重复:

SELECT * FROM 
((Table1 as t 
INNER JOIN 
(SELECT ID FROM Table1 
GROUP BY ID HAVING COUNT(ID) >1) as b
ON t.ID = b.ID

将标准重新加入原始表格,我需要这样做,因为我需要求和的表格不包含ID,

INNER JOIN Table2 as c
ON t.ID2 = c.ID2
WHERE c.LineNumber = 4

这就是我被困的地方。我想为每个ID加总所有LineNumber = 4。同样,我不得不使用ID2加入,因为ID2不在Table2

也许我让这太复杂了?欢迎任何建议

谢谢!

0 个答案:

没有答案