在MySQL数据库中使用when子句设置行数据时遇到一些问题。 这就是我所拥有的:
use bank;
select b.branch_id, b.name, b.address, b.city, b.state, b.zip,
Case
when b.state != 'MA' then b.address = 'Out of State'
end address
from branch b
;
如果分支的状态列具有" MA"则该想法是从名为" branch"的表中获取所有信息。在其中,该行应该说" Out of state"该专栏。但是,我在这里没有正常工作。有什么建议吗?
答案 0 :(得分:0)
您希望案例表达式中包含else
子句。
Select
b.branch_id,
b.name,
Case when b.state = 'MA' then 'Out of State' else b.address end as address,
b.city,
b.state,
b.zip
from branch b
这会将地址栏设置为“退出状态”'对于州=' MA'的所有行。也许你想要反过来,如果只是否定条件。
答案 1 :(得分:0)
我怀疑您需要case
语句而不是address
列。在那种情况下:
select b.branch_id, b.name,
(case when b.state = 'MA' then b.address else 'Out of State' end) as address,
b.city, b.state, b.zip,
from branch b;