6 sql sql-server sql-server-2005 sql-server-2008
如果实际查询没有返回任何行,是否可以将查询中的所有列作为空列(非空)或空行返回
Ric*_*iwi 12
通常,如果您必须返回一个空行..
如果您的原始查询是
select a,b,c from tbl
Run Code Online (Sandbox Code Playgroud)
您可以将其转换为子查询
select t.a,t.b,t.c
from (select 1 as adummy) a
left join (
select a,b,c from tbl -- original query
) t on 1=1
Run Code Online (Sandbox Code Playgroud)
这确保查询的行数始终至少为一.
如果您的目标是返回没有记录或空记录集/数据集的查询,则以下内容应该可以在不了解原始查询的情况下工作:
SELECT * FROM (myOriginalQuery) as mySelect WHERE 0 = 1
Run Code Online (Sandbox Code Playgroud)