串联列+子选择,即使子选择不返回任何结果

时间:2019-05-21 16:28:29

标签: sql-server tsql

即使该子选择不返回任何结果,如何连接列和子选择?

在愚蠢的示例中,当子选择不返回任何结果时,即使Column_a不为空,结果也返回NULL。

select a.Column_a + 
    (select top 1 b.Column_b from Table_b b where b.Id_Table_a = a.Id)
from Table_a a

如何避免呢?

3 个答案:

答案 0 :(得分:1)

您可以通过添加$("body").append("#testInput");来解决此问题:

isnull()

答案 1 :(得分:1)

您可以使用ISNULL(假设所有值都是字符串):

select a.Column_a + 
    ISNULL((select top 1 b.Column_b from Table_b b where b.Id_Table_a = a.Id),'')
from Table_a a

答案 2 :(得分:1)

在SQL SERVER中,如果您将两个字符串合并或添加在一起,其中一个字符串为NULL,则结果将返回NULL,如下所示-

SELECT 'Test' + NULL
-- The output is NULL

因此,您必须按以下方式处理NULL-

SELECT 'Test' + ISNULL( NULL,'')
-- This will return 'Test'