如果不存在记录,让表值函数返回 NULL

Posted

技术标签:

【中文标题】如果不存在记录,让表值函数返回 NULL【英文标题】:Have Table Value Function return NULLS if no record exists 【发布时间】:2014-05-14 00:53:17 【问题描述】:

我正在使用 SQL Server 2008 R2 来检索我对各种表值函数执行多个 CROSS APPLY 的记录,以扩展原始表中的值。

如果 TVF 不返回结果,我仍然希望查看联系人,但如果 TVF 生成结果,它会返回列中的 NULL 值。

有没有办法让表值函数返回一行 NULL 值,而不仅仅是“不存在记录”?我想我需要应用一些 JOIN 魔法,但我无处可去。

我在 TVF 中使用了 UNION 子句,它为每一列返回 NULL,但如果 TVF 返回匹配项,这将给我重复(一个结果与匹配值,一个与 NULL)

【问题讨论】:

【参考方案1】:

好吧,在这里回答了我自己的问题...没想到要尝试外部应用而不是交叉应用。成功了。

【讨论】:

以上是关于如果不存在记录,让表值函数返回 NULL的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 模型 - 如果数据库表不存在则返回 null

如何检索 sql server 内联表值函数的返回值的元数据?

如果不存在记录,如何选择 sum -or- 0?

如果 VTL / API 网关模板中不存在密钥,则返回 null

索引视图中完全外连接的替代方案

如果右侧表中不存在日期,则使用 LEFT JOIN 返回 NULL