我想从表中选择像'Bo%'这样的名称或者像'Ni%'这样的名字,我想给所有这个名字提供一个特定的名字,比如Bo,以及所有名字的特定名称,比如Ni。 但是,如果我给出一个别名,那就不行了。
将'Bo%'命名为男性,或将名称命名为'Ni%'作为女性。 那我怎么能这样做呢?
答案 0 :(得分:1)
SQL允许您为列或表添加别名。您不能基于每个值替换列名称 - 名称需要保持一致,以便您可以引用它以供以后的操作使用。
您需要为要查看的每个选项指定一列:
SELECT CASE WHEN t.col LIKE 'Bo%' THEN t.col ELSE NULL END AS male,
CASE WHEN t.col LIKE 'Ni%' THEN t.col ELSE NULL END AS female
FROM YOUR_TABLE t
...但这意味着男性或女性专栏可能为空 - 如果LIKE
都不匹配,则两者都是:
name male female
-------------------
Bob Bob NULL
Nirmal NULL Nirmal
Xander NULL NULL