首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL -添加空行

SQL -添加空行
EN

Stack Overflow用户
提问于 2020-04-07 19:08:20
回答 3查看 44关注 0票数 0

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

下面是我需要从查询中得到的一个例子:

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

编辑:我使用的是Server 2014,数据库名是Test,表名是Table2。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-04-07 19:16:10

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

代码语言:javascript
运行
复制
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

或者:

代码语言:javascript
运行
复制
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
EN

Stack Overflow用户

发布于 2020-04-07 19:11:26

一个简单的方法是:

代码语言:javascript
运行
复制
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
EN

Stack Overflow用户

发布于 2020-04-07 19:29:58

我有完整的解决方案可用于Server 2014的dbfiddle。dbfiddlelink

查询应该是,

代码语言:javascript
运行
复制
Select * 
from (select FieldA,FieldB 
      from Table2 
      union
      select null,null) tab 
 order by FieldA Desc
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61087584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档