微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在选择结果集的顶部添加“ ustom”行?

如何解决如何在选择结果集的顶部添加“ ustom”行?

这是执行此操作的安全方法

select name, email
from ((select 'name' as name, 'email' as email, 1 as which
      ) union all
      (select name, email, 2 as which from [dbo].[testTable]
      )
     ) t
order by which;

在实践中,union all将起作用:

      select 'name' as name, 'email' as email
      union all
      select name, email from [dbo].[testTable]

但是,我找不到能保证第一个查询在第二个查询之前完成的文档。sql Server 的基础运算符 确实 具有此行为(或者至少在我上次进行调查时在sql Server 2008 具有此行为)。

解决方法

我可以像使用t-sql一样使用select语句来选择并拉出记录列表:

select * from [dbo].[testTable];

但是,如何在结果集的顶部添加“自定义”行呢?

例如,如果结果集是:

John    john@email.com
Max     max@domain.com

我要向结果集中添加一行(不是表中的行),以便它看起来像这样:

Name    Email
John    john@email.com
Max     max@domain.com

之所以要执行此操作,是因为我要通过sqlcmd将其导出到一个csv文件中,并且要添加这些“自定义行”作为标题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。