返回外部应用结果作为新行

时间:2017-05-17 21:24:00

标签: sql sql-server sql-server-2012

我有一个带外部申请的查询,90%的时间会返回null。然而,对于其他10%的时间,我想将其作为另一行返回。我正在讨论作为一个工会做这件事,但后来我很好奇是否可以用其他任何方式处理。

Select d1.name
,d2.name
,d3.name
,b.name2
,b.name3

from database1 d1
inner join database2 d2 on d1.d2_id = d2.id
inner join database3 d3 on d2.d3_id = d3.id

outer apply(select d2a.name2
            ,d3.name3

            from database1 d1a
            inner join database2 d2a on d1a.d2a_id = d2a.id
            inner join database3 d3a on d2a.d3a_id = d3a.id
            where 1=1
            and d1a.id = d1.id
            and (d2a.name<>d2.name and d3a.name <> d3.name)
            )b

where 1=1


Result set now
d1.name|d2.name|d3.name|b.name2|b.name3
1          1        1       2      2 

结果集通缉

d1.name|d2.name|d3.name
1          1       1
1          2       2

0 个答案:

没有答案