0
我想做一個看似基本的select語句,但無法獲得where子句的正確語法。select語句計算列的總數和組的問題
select
T1.CUSTNMBR [Customer Number],
T1.APFRDCTY [Doc Type],
sum(T1.APPTOAMT) as [Apply to Amount],
T1.APFRDCNM [Apply From Doc No],
T2.ORTRXAMT [Doc Amount],
T2.CURTRXAM [Unapplied Amount]
from
(
select
CUSTNMBR,
APFRDCNM,
APFRDCTY,
APPTOAMT
from GPSTJ..RM30201
union
select
CUSTNMBR as CUSTNMBR,
APFRDCNM as APFRDCNM,
APFRDCTY as APFRDCTY,
APPTOAMT as APPTOAMT
from GPSTJ..RM20201
) T1
LEFT JOIN
(
select
CUSTNMBR,
DOCNUMBR,
DOCDATE,
RMDTYPAL,
ORTRXAMT,
CURTRXAM
from GPSTJ..RM20101
union
select
CUSTNMBR as CUSTNMBR,
DOCNUMBR as DOCNUMBR,
DOCDATE as DOCDATE,
RMDTYPAL as RMDTYPAL,
ORTRXAMT as ORTRXAMT,
CURTRXAM as CURTRXAM
from GPSTJ..RM30101
) T2 on T1.CUSTNMBR = T2.CUSTNMBR and T1.APFRDCNM = T2.DOCNUMBR
where (sum(T1.APPTOAMT) - T2.ORTRXAMT) <> T2.CURTRXAM
group by
T1.CUSTNMBR, T1.APFRDCTY, T1.APFRDCNM, T2.ORTRXAMT, T2.CURTRXAM
該查詢運行正常,但沒有where子句但是有太多的結果。我基本上試圖從sum,sum(T1.APPTOAMT)中減去分組字段(T2.ORTRXAMT),但我無法獲得正確的語法,但它不起作用,並且錯誤消息中沒有線索。
行,所以我也是這個到Excel與沒有錯誤消息的數據連接,但我跑了通過SSMS過濾,並給予這個時候 - 聚合可能不會出現在WHERE子句中,除非它位於包含在HAVING子句或選擇列表中的子查詢中,並且要聚合的列是外部引用。 我正在閱讀解決這個問題的解決方案,但是在此期間的任何幫助都會很好。 Thankyou – 2015-02-09 07:56:11
使用'HAVING'而不是'WHERE' – 2015-02-09 07:58:19