在我的数据库中,我有一个表,该表的列result
的值为passed, failed, pending
等。如果传递了我的结果值,我必须更改结果=传递给结果=更正了我该怎么办在where子句中。那就是如果结果通过了,我想改变传递到更正。我尝试了以下
select result as status, address + ' ' + city + ' ' + state + ' ' + zip as occupancy, name
from Occupancies OCC
where (address like '%rd' or address is not null ) and
case when result = 'Passed' then ' corrected';
我已经在where子句中使用了一些条件。任何建议都很好
答案 0 :(得分:1)
这是黑暗中的另一枪。在命名列和对象时,您确实需要小心。使用保留字是一个坏习惯,使查询比他们需要的困难得多。同样,当您串联这样的字符串值时,如果任何列为NULL,结果将为NULL。
select [status] = case when result = 'Passed' then 'corrected' end
, [address] + ' ' + city + ' ' + [state] + ' ' + zip as occupancy
, name
from Occupancies OCC
where result = 'Passed'
答案 1 :(得分:0)
只是:
SELECT CASE WHEN result = 'Passed' then 'corrected' end as Status,
address + ' ' + city + ' ' + state + ' ' + zip as occupancy,
name
FROM Occupancies