sql - MS SQL - 加入多个枢轴
问题描述
我正在尝试将多个枢轴合并为一个语句。请您帮忙。
SELECT ID, A as [LglCode-A],B as [LglCode-B],C as [LglCode-C],D as [LglCode-D] from
(
select ID,LglFlg, Code
from #tmp1
) x
pivot
(
max(Legal)
for Code in ([A],[B],[C],[D])
) p;
SELECT ID, A as [MH Code-A],B as [MH Code-B],C as [MH Code-C],D as [MH Code-D] from
(
select ID,[MH Code], Code
from #tmp1
) x
pivot
(
max([MH Code])
for Code in ([A],[B],[C],[D])
) p;
我从链接中看到了这种方法,这是唯一更好的方法吗? MS SQL 多次透视另一个表
解决方案
我会建议条件聚合。我认为这可以满足您的要求:
select id,
max(case when Code = 'A' then lglflg end) as legal_a,
max(case when Code = 'B' then lglflg end) as legal_b,
max(case when Code = 'C' then lglflg end) as legal_c,
max(case when Code = 'D' then lglflg end) as legal_d,
max(case when Code = 'A' then [MH Code] end) as mh_a,
max(case when Code = 'B' then [MH Code] end) as mh_b,
max(case when Code = 'C' then [MH Code] end) as mh_c,
max(case when Code = 'D' then [MH Code] end) as mh_d
from #tmp1
group by id;
推荐阅读
- html - boostrap 下拉菜单在悬停时闪烁
- java - 如何以编程方式检查“自动日期和时间”中是否选择了“使用 GPS 提供的时间”?
- amazon-web-services - AWS S3 托管网站的附加 DNS 名称
- vim - 如何将双引号 (") 映射到 vimrc 中的某些内容
- laravel - Laravel 向控制器提交数据,然后将数据发送到操作 URL
- django-models - Django ORM 以最少的 SQL 查询从数据库中获取模型的嵌套树
- python - 试图从 /nix/store 中删除一个包,现在系统出现错误,如何修复?
- java - 如何使用 JUnit 扩展将 @BeforeEach 与 @Test 方法链接?
- r - 以 2、5、10、25 的间隔创建一个从 -100 到 100 的数字序列。如何在 R 中做到这一点
- sql - 根据索引范围将一列变为多列