cross apply 为 null 时如何 return 行

How return row when cross apply is null

我有一行数据要添加列,所以我要交叉应用一些数据。

但是,正在应用的 table 有时为空。

当应用的 table 为 null 时,不会返回任何内容。

Table 1

| a | b | c |
|---+---+---|
| 0 | 1 | 1 |

Table 2

| d | e | f |
|---+---+---|

查询

select top 1 
[col_1] = coalesce([a], [d], '') 
from table_1
cross apply ( select [d], [e] from table_2)

预期输出

| a | b | c |
|---+---+---|
| 0 | 1 | 1 |

实际输出

*null*

在交叉应用 Table 2 时,无论数据是否可用,如何保留 Table 1 中的列?

注意:我正在尝试将其与合并一起使用。

使用outer apply:

select top 1 
[col_1] = coalesce([a], [d], '') 
from table_1
outer apply ( select [d], [e] from table_2)