作爲較大查詢的一部分,我有一些子查詢,我想將其轉換爲CASE語句。用SQL中的計算重寫子查詢到CASE語句
子查詢看起來像這樣(和作品):
(SELECT (((SUM(DAm)-(SUM(StcCst)*-1))*100)/NULLIF(SUM(DAm),0)) AS 'DG' FROM [F0001].[dbo].[ProdTr] WHERE AcYrPr = '201601' AND ProdTr.TrTp = 1 AND [F0001].[dbo].[ProdTr].CustNo = '12773') AS dg_period_1
不過,我似乎還沒有找到把這個變成一個CASE語句任何邏輯方式。
任何幫助,將不勝感激!
子查詢是否只返回1行?乳清你想把它轉換成一個案例陳述?嘗試用一些示例數據重新創建您的場景,並根據此數據顯示您的預期輸出。 – Utsav
@Utsav它包含一個聚合函數和沒有組語句,它_DOES_返回正好1行(不多也不少) – Psi
我看到一個問題'NULLIF(SUM(DAm),0)',因爲你不能劃分一個數字由null。如果SUM(DAm)'爲空,你想要做什麼? – Sunil