我有两个订单文件,标题记录(MRRECVH)和详细记录(MRRECVD)。
为了查看订单总金额,我需要总结MRRECVD文件中Control#的所有行项目(两个文件共用且对订单唯一)。我只想查看总订单金额> 1的MRECVH记录。 0
这是我的(不起作用):
USE ZZZ
SELECT a.NAME, a.RECV_DATE,
( SELECT SUM(b.RECV_AMOUNT)
FROM MRRECVD b
WHERE ( a.CONTROL = b.CONTROL )
) AS 'TOTAMT'
FROM MRRECVH a
GROUP BY a.CONTROL
, a.BANK
, a.NAME
, a.CHECK_NUM
, a.RECV_DATE ;
这给了我一切,但我只想要总细节数量的记录(b.RECV_AMOUNT的总和)> 0
当我尝试在WHERE子句中聚合SUM(b.RECV_AMOUNT)时,我得到错误。我也尝试了很多其他的变化。我错过了什么?
答案 0 :(得分:2)
如果要在聚合字段上使用条件
,只需使用HAVING子句顺便说一下,你可以这样做。
select a.Name, a.recv_Date, sum(b.recv_amount) as totalamt
from MRRECVH a
inner join mrrecvd b on a.control = b.control
group by a.control, a.bank, a.name, a.check_num, a.recv_date
having sum(b.recv_amount) > 0