Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 为什么一个联合会带回一个空行?_Sql_Tsql_Union - Fatal编程技术网

Sql 为什么一个联合会带回一个空行?

Sql 为什么一个联合会带回一个空行?,sql,tsql,union,Sql,Tsql,Union,我有两个select语句 SELECT ... UNION SELECT ... 如果我运行第一个SELECT,数据会很好地返回 如果我运行第二个SELECT,数据会很好地返回 如果使用并集同时运行这两个命令,则第一行始终为空 我不明白。有人知道这可能导致问题的原因吗?您的数据中有一个空行。令人惊讶的是,联合正在进行排序,这将NULL带到第一行 如果要消除空值,请使用where子句 如果您希望通过不消除重复来提高查询效率,请使用union all发布完整查询,然后发布一些示例数据和所需结果

我有两个select语句

SELECT ...

UNION

SELECT ...
如果我运行第一个SELECT,数据会很好地返回

如果我运行第二个SELECT,数据会很好地返回

如果使用并集同时运行这两个命令,则第一行始终为空


我不明白。有人知道这可能导致问题的原因吗?

您的数据中有一个空行。令人惊讶的是,
联合
正在进行排序,这将NULL带到第一行

如果要消除空值,请使用
where
子句


如果您希望通过不消除重复来提高查询效率,请使用
union all

发布完整查询,然后发布一些示例数据和所需结果?但是如果我单独运行两个选择,则两个结果中都没有空行…如果
union
正在创建空行,然后,SQL引擎中有一个bug。对我来说,这似乎不太可能。您是否可能在第二个查询中有一个
where
子句,您认为它应用于整个结果集,但实际上只应用于第一个子查询?