Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于两个表条件的SQL MS Access求和结果_Sql_Join_Ms Access 2007 - Fatal编程技术网

基于两个表条件的SQL MS Access求和结果

基于两个表条件的SQL MS Access求和结果,sql,join,ms-access-2007,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 AN

我被要求找出一张表中的总数是否超过某个值。但是,我需要将这些数据分组的标识符存储在另一个表中。因此,我想出了如何分离出我需要的内容,然后复制到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 
在这种情况下,我需要求和的总数都具有原始表(表1)中相同的行号,因此很容易与不同表中的值进行比较。我想做的是能够将子查询连接回原始表,然后根据另一个表的标识符和总和进行分组,添加一个条件,即表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的所有行号求和=4。同样,我必须使用ID2加入,因为ID1不在表2中

也许我把事情弄得太复杂了?欢迎提出任何建议


谢谢

你能举一个你的模式/数据的例子吗?你是什么意思?一般来说,我对数据库不是很有经验。