我有一个查询,其中包含由于交易被取消而重复的记录;在某些情况下,我想保留已取消的记录,而在另一些情况下,我想忽略它(如果客户在没有新买家的情况下退出交易,我想保留它-如果找到新买家,我想省略这样,每辆车都有一个记录)。我将根据具体情况修改查询。
我所知道的很少,我认为它应该类似于以下内容,但是我无法使其正常工作。
case [StockNo] when 'XXXXXX' and [FiWipStatusCode] = 'C' then 'omit'
end as 'Filter'
感谢您的帮助!
答案 0 :(得分:2)
您需要使用搜索的大小写语法:
case when [StockNo]= 'XXXXXX' and [FiWipStatusCode] = 'C' then 'omit'end
as 'Filter'
来自CASE:
Simple CASE expression:
CASE input_expression
WHEN when_expression THEN result_expression [ ...n ]
[ ELSE else_result_expression ]
END
Searched CASE expression:
CASE
WHEN Boolean_expression THEN result_expression [ ...n ]
[ ELSE else_result_expression ]
END
答案 1 :(得分:2)
扩展case
表达式中的条件:
(case when [StockNo] = 'XXXXXX' and [FiWipStatusCode] = 'C' then 'omit'
end) as Filter
此外,请勿在列别名周围使用单引号。这只会混淆列别名和字符串。