亲爱的我正在写 sql select 语句:
SELECT
CourtCode,
CourtName+ ' '+ CourtType AS Court
from table
CourtType 是可为空的 int 列
我希望当我的选择栏CourtType=null
返回“法院”时
亲爱的我正在写 sql select 语句:
SELECT
CourtCode,
CourtName+ ' '+ CourtType AS Court
from table
CourtType 是可为空的 int 列
我希望当我的选择栏CourtType=null
返回“法院”时
这个问题的编写方式很难理解你的需求,但如果我猜的话,我认为你只需要一个左外连接和一个 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
似乎是ISNULL()
or的工作COALESCE()
:
SELECT
Diw_Tb_Court.Fd_CourtCode,
COALESCE(Diw_Tb_Court.Fd_CourtName + ' ', '')
+ COALESCE(Diw_Tb_CourtType.Fd_CourtType, '') AS Court
FROM …