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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.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查询使用Sum()连接两个查询_Sql_Sql Server - Fatal编程技术网

SQL查询使用Sum()连接两个查询

SQL查询使用Sum()连接两个查询,sql,sql-server,Sql,Sql Server,我知道这对sql人员来说很简单,但我正在尝试将两个简单的查询组合成一个查询。从代码中可以明显看出job.ActiveJob.ID=job.EstimateTbl.ID\u job 我正在尝试获取:id、JobName、sum(itemAmount) 谢谢你的帮助 SELECT a.id, a.JobName FROM job.ActiveJobsTbl AS a WHERE a.ID = '100' SELECT SUM(itemAmount) FROM job.EstimateTbl WH

我知道这对sql人员来说很简单,但我正在尝试将两个简单的查询组合成一个查询。从代码中可以明显看出job.ActiveJob.ID=job.EstimateTbl.ID\u job

我正在尝试获取:id、JobName、sum(itemAmount)

谢谢你的帮助

SELECT a.id, a.JobName
FROM job.ActiveJobsTbl AS a
WHERE a.ID = '100' 

SELECT SUM(itemAmount)
FROM job.EstimateTbl
WHERE ID_Job = '100'

您可以
通过E.ID\u Job=A.ID上的
连接
表,并使用
分组方式

SELECT A.id, A.JobName, SUM(E.itemAmount) AS Amount 
FROM job.ActiveJobsTbl AS A
INNER JOIN job.EstimateTbl E ON E.ID_Job = A.ID 
WHERE A.ID = '100'  
GROUP BY A.id, A.JobName;

您可以使用
APPLY

select a.id, a.JobName, t.itemAmount 
from job.ActiveJobsTbl AS a OUTER APPLY
     (SELECT SUM(t.itemAmount) AS itemAmount
      FROM job.EstimateTbl AS t
      WHERE t.ID_Job = a.ID
     ) t
WHERE a.ID = 100; 
试试这个:

SELECT A.id, A.JobName, SUM(E.itemAmount) AS Amount 
FROM job.ActiveJobsTbl AS A
INNER JOIN job.EstimateTbl E ON E.ID_Job = A.ID 
WHERE A.ID = '100'
GROUP BY A.id, A.JobName;

使用
左连接

SELECT a.id, a.JobName,EstimateTbl.itemAmount
FROM job.ActiveJobsTbl AS a
left join
( 
    SELECT SUM(itemAmount) itemAmount,ID_Job
    FROM job.EstimateTbl
    group by ID_Job
) EstimateTbl on  EstimateTbl.ID_Job = a.ID
WHERE a.ID = '100' 

您的预期产量是多少?谢谢!所有答案都有效,但这与我的想象最接近。我非常接近,但没有想到将“E”放在SUM()中。