[英]How do you write an IF ELSE inside a SELECT statement in MSSQL 2008?
這是我想要做的:
SELECT iif(d.ItemType = 'INVOICE', 0, iif(d.ItemType = 'PACKING', 0, 1)) AS MissingDocuments FROM dbo.DocumentDetails AS D
不幸的是意識到這與MSSQL2008不兼容。 所以嘗試編寫IF ELSE
但也沒有用。
SELECT IF d.ItemType = 'INVOICE'
0
ELSE
BEGIN
d.ItemType = 'PACKING'
0
ELSE
1
END AS MissingDocuments
FROM dbo.DocumentDetails AS D
你能告訴我在這里做錯了什么嗎?
使用CASE ... WHEN
。 最簡潔的邏輯似乎是:
SELECT
CASE WHEN d.ItemType IN ('INVOICE', 'PACKING') THEN 0 ELSE 1 END
AS MissingDocuments
FROM dbo.DocumentDetails AS d
即如果文件不是“發票”或“包裝”,則文件丟失
我想你Case When
嘗試這個Case When
尋找Case When
..
SELECT
case when d.ItemType = 'INVOICE' or d.ItemType = 'PACKING'
then 0
ELSE
1
END AS MissingDocuments
FROM dbo.DocumentDetails AS D
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.