Ran*_*ghe 2 sql-server sql-server-2008
这是我想要做的:
SELECT iif(d.ItemType = 'INVOICE', 0, iif(d.ItemType = 'PACKING', 0, 1)) AS MissingDocuments FROM dbo.DocumentDetails AS D
Run Code Online (Sandbox Code Playgroud)
不幸的是意识到这与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
Run Code Online (Sandbox Code Playgroud)
你能告诉我在这里做错了什么吗?
使用CASE ... WHEN.最简洁的逻辑似乎是:
SELECT
CASE WHEN d.ItemType IN ('INVOICE', 'PACKING') THEN 0 ELSE 1 END
AS MissingDocuments
FROM dbo.DocumentDetails AS d
Run Code Online (Sandbox Code Playgroud)
即如果文件不是"发票"或"包装",则文件丢失
| 归档时间: |
|
| 查看次数: |
14789 次 |
| 最近记录: |