SQL-添加空白行

问题描述 投票:0回答:3

我正在使用将使用我正在构建的查询从数据库获取数据的软件。问题在于该软件没有确定表大小的工具,因此我需要在最后一行数据之后添加一个空白行,以便该软件可以识别表的末尾。这是查询将提供的示例:

这是我需要从查询中得到的示例:

enter image description here

我知道最好在应用程序中解决它,但是在这种情况下,我需要更改查询。有可能吗?

编辑:我正在使用SQL Server 2014,数据库名称为Test,表名称为Table2。

sql sql-server row sql-server-2014
3个回答
1
投票

在查询后使用UNION ALL添加空白行:

select t.* from (
  select FieldA, FieldB
  from Table2
  ..........
  union all
  select null, null 
) t
order by case when coalesce(t.FieldA, t.FieldB) is null then 1 else 0 end

或:

select t.FieldA, t.FieldB from (
  select 0 as isblankrow, FieldA, FieldB
  from Table2
  ..........
  union all
  select 1, null, null 
) t
order by isblankrow

1
投票

一个简单的方法是:

select t.*
from t
union all
select t.*
from (select 1 as x) x left join
     t
     on 1 = 0   -- always fails
order by (case when fieldA is not null then 1 else 2 end)

这将返回另一行,所有列均为NULL

注意:SQL表表示无序集,因此您需要一个order by。以上假设第一列从不为NULL


1
投票

我在dbfiddle上有针对SQL Server 2014的完整解决方案。dbfiddlelink

查询应该是,

Select * 
from (select FieldA,FieldB 
      from Table2 
      union
      select null,null) tab 
 order by FieldA Desc
© www.soinside.com 2019 - 2024. All rights reserved.