簡體   English   中英

將 MS Access IIF 轉換為 SQL 服務器 CASE 語句

[英]Converting MS Access IIF to SQL Server CASE statement

我正在嘗試將 MS Access 應用程序轉換為 SQL 服務器。 我收到一個錯誤

“as”附近的語法不正確

嘗試轉換時:

注冊銷售:

Sum(LOTOSMIS_ACC_TYPE.sing_ind*LOTOSMIS_RET_DAILY.grs_amn*IIf(gm_cd In (1105,2123,2124,2150,2152,2191,2192,5143,5145,5146,5245,5253),Switch(LOTOSMIS_RET_DAILY.gm_var=1,0,True,1),0))

對此

(SELECT CASE WHEN P.GM_VAR = 1 THEN 0 END)) AS RegSales,

我收到錯誤 RegSales:

Sum(LOTOSMIS_ACC_TYPE.sing_ind*LOTOSMIS_RET_DAILY.grs_amn*IIf(gm_cd In (1105,2123,2124,2150,2152,2191,2192,5143,5145,5146,5245,5253),Switch(LOTOSMIS_RET_DAILY.gm_var=1,0,True,1),0))

獲取語法錯誤

“as”一詞附近的語法不正確

要么

')' 附近的語法不正確

我究竟做錯了什么?

如果我遵循正確,邏輯是:

sum(case when gm_cd not in (1105, 2123, 2124, 2150, 2152, 2191, 2192, 5143, 5145, 5146, 5245, 5253)
         then LOTOSMIS_ACC_TYPE.sing_ind * LOTOSMIS_RET_DAILY.grs_amn
         else 0
    end)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM