SQL查询使用Sum()连接两个查询
我知道这对sql人员来说很简单,但我正在尝试将两个简单的查询组合成一个查询。从代码中可以明显看出job.ActiveJob.ID=job.EstimateTbl.ID\u job 我正在尝试获取:id、JobName、sum(itemAmount) 谢谢你的帮助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
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()中。