我研究了StackOverflow的一些答案來編寫SQL查詢中的CASE語句。下面就是我嘗試:案例陳述失敗
select
chkdetail_t.check_acct,
chkheader_t.acct_number,
CASE WHEN chkdetail_t.check_number = chkdetail_t.check_number THEN SUM(chkdetail_t.amount)
END AS chek_total,
chkdetail_t.check_number,
convert(VARCHAR(10),CAST(chkdetail_t.check_date as datetime), 101) AS chk_date,
chkdetail_t.amount,
chkdetail_t.vend_name,
chkdetail_t.chk_status,
chkdetail_t.reconsiled,
chkdetail_t.chk_type,
chkdetail_t.apr_pay_amt,
chkdetail_t.apr_disc_amt,
chkdetail_t.apr_adj_amt
當我運行查詢,我得到以下錯誤:
消息8120,級別16,狀態1,行2列 「dbo.chkdetail_t.check_acct '在選擇列表中無效,因爲它不包含在聚合函數或GROUP BY子句中。
我的整個目標是將自己的支票號碼相加並總結自己的總額,因爲供應商發票是分開簽發的,我們用一張支票支付。
我讀了另一個有類似問題的線程,但我一直插入並讀取錯誤並嘗試修復SQL查詢的代碼無法正常工作。
任何幫助將不勝感激。
此致馬克
您在'CASE'中使用'SUM'而沒有'GROUP BY',所以出現錯誤。 – user2989408