sql - SQL - 如何在查询中为每个数据变化添加虚拟空白数据?
问题描述
我得到了这个我计划在 SQL 查询中使用的 SQL 表:
| Code_1 | Name_1 | Code_2 | Name_2 | Code_3 | Name_3 | Code_4 | Name_4 |
-------------------------------------------------------------------------
| A01 | Alice | B01 | Bernie | C01 | Charle | D01 | Dean |
| A01 | Alice | B01 | Bernie | C01 | Charle | D02 | Donny |
| A01 | Alice | B01 | Bernie | C02 | Claire | E01 | Ellie |
'and so on
在我的查询中,我想:
- 将代码和名称合并成一个字符串。
- 显示代码和合并的代码 + 名称字符串。
- 添加一个虚拟行,其中
Code_4
和Name_4
为空白。
像这样:
| Code_1 | Name_1 | Code_2 | Name_2 | Code_3 | Name_3 | Code_4 | Name_4 |
-------------------------------------------------------------------------------------------------
| A01 | A01 - Alice | B01 | B01 - Bernie | C01 | C01 - Charle | | |
| A01 | A01 - Alice | B01 | B01 - Bernie | C01 | C01 - Charle | D01 | D01 - Dean |
| A01 | A01 - Alice | B01 | B01 - Bernie | C01 | C01 - Charle | D02 | D02 - Donny |
| A01 | A01 - Alice | B01 | B01 - Bernie | C02 | C02 - Claire | | |
| A01 | A01 - Alice | B01 | B01 - Bernie | C02 | C02 - Claire | E01 | E01 - Ellie |
'and so on
到目前为止我的查询:
select distinct [Code_1], [Code_1] + ' - ' + [Name_1] as [Name_1],
[Code_2], [Code_2] + ' - ' + [Name_2] as [Name_2],
[Code_3], [Code_3] + ' - ' + [Name_3] as [Name_3],
[Code_4], [Code_4] + ' - ' + [Name_4] as [Name_4] from [SQLIOT].[dbo].[NAMES]
我仍然不知道如何为Code_4
&放置空白的虚拟行Name_4
。
解决方案
你似乎想要union all
:
select [Code_1], [Code_1] + ' - ' + [Name_1] as [Name_1],
[Code_2], [Code_2] + ' - ' + [Name_2] as [Name_2],
[Code_3], [Code_3] + ' - ' + [Name_3] as [Name_3],
[Code_4], [Code_4] + ' - ' + [Name_4] as [Name_4]
from [SQLIOT].[dbo].[NAMES]
union all
select distinct [Code_1], [Code_1] + ' - ' + [Name_1] as [Name_1],
[Code_2], [Code_2] + ' - ' + [Name_2] as [Name_2],
[Code_3], [Code_3] + ' - ' + [Name_3] as [Name_3],
NULL as [Code_4], NULL as [Name_4]
根据您的示例数据,您不需要select distinct
整体数据,只需要具有空列的部分。
推荐阅读
- python - 如何使用乳胶在 matplotlib 标签(图例或 xlabel 等)中获取前导空格?
- polkadot - 在尝试转移 DOT 时,Bad Origin 是什么意思?
- flutter - 在 Flutter 中访问子类中的父类变量?
- python - 使用函数时应该在多大程度上避免全局变量?
- azure - 使用专用终结点时使用专用 IP 访问存储帐户
- iis - 全新安装的 IIS 10 (Windows Server 2019) 上没有匿名身份验证
- maven - Artifactory Maven存储库已禁用?
- python-3.x - 如何在 Orange Data Mining Tool 中实现句子相似度?
- python - 使用 docker 将本地包添加到诗歌中
- java - 如何通过调用 executorService.shutdownNow() 来停止 webclient get() exchange()?