如果另一列值为NULL,则从同一表中选择另一个列值

时间:2017-03-10 16:11:10

标签: sql sql-server-2008 coalesce

我有一个包含四列的表:NAMEAGEPRIMARYWEIGHTSECONDARYWEIGHT

Where NAME = 'Damian',我希望仅在AGEPRIMARYWEIGHT时选择SECONDARYWEIGHTNULL,否则我会PRIMARYWEIGHT

理想情况下,无论是PRIMARYWEIGHT还是SECONDARYWEIGHT,我都想给别名'WEIGHT'。

2 个答案:

答案 0 :(得分:3)

SELECT NAME, AGE, ISNULL(PRIMARYWEIGHT, SECONDARYWEIGH) As WEIGHT 

msdn reference

答案 1 :(得分:1)

SELECT AGE, COALESCE(SECONDARYWEIGH, PRIMARYWEIGHT) As WEIGHT 

您可以使用COALESCE,如标记中所示

  

按顺序计算参数,并返回最初未计算为NULL的第一个表达式的当前值。