使用when子句设置行数据

时间:2015-07-27 02:38:50

标签: mysql sql

在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"该专栏。但是,我在这里没有正常工作。有什么建议吗?

2 个答案:

答案 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;