簡體   English   中英

如何在MSSQL 2008中的SELECT語句中編寫IF ELSE?

[英]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.

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