在sql中选择条件

时间:2012-04-15 13:11:23

标签: sql-server select case

亲爱的我正在编写sql select语句:

SELECT 
  CourtCode,
 CourtName+ ' '+ CourtType AS Court 
from  table

CourtType可以为空列

我希望列CourtType=null时我的选择返回'Court'

2 个答案:

答案 0 :(得分:1)

写这个问题的方式很难理解你的需求,但如果我猜测,我认为你只需要一个左外连接和一个CASE语句。左外连接确保返回Diw_Tb_Court表中的行,即使Diw_tb_CourtType表中没有匹配的行也是如此。 CASE语句允许您询问是否发生了Diw_Tb_courtType连接,如果是,则将其名称附加到“名称”列。

SELECT
   c.Fd_CourtCode,
   name = c.Fd_CourtName + 
      CASE WHEN ct.Fd_CourtType is not null THEN ' ' + ct.Fd_CourtType ELSE '' END
FROM
   Diw_Tb_Court c 
   left outer join Diw_Tb_CourtType ct on ct.id = c.courtType

答案 1 :(得分:1)

似乎是ISNULL()COALESCE()的作业:

SELECT 
  Diw_Tb_Court.Fd_CourtCode,
  COALESCE(Diw_Tb_Court.Fd_CourtName + ' ', '')
  + COALESCE(Diw_Tb_CourtType.Fd_CourtType, '') AS Court 
FROM …