sql - SQL Server 透视多个字符串字段
问题描述
我正在 SQL Server 数据库中处理这种格式的一些数据:
[ID_1] | [ID_2] | [ID_3] | ... | [ID_n] | [Change Type (Str)] | [oldVal (Str)] | [newVal (Str)]
--------------------------------------------------------------------------------------------------
w | x | y | | z | A | "1" | "2"
w | x | y | | z | B | "5" | "20"
a | b | c | | d | A | "2" | "3"
每个项目都有一些识别字段,导致更改类型,其中两个更改(A,B)让我感兴趣。对于每种更改类型,都有一个旧值和一个新值。如果一个项目同时具有 A 和 B 类型的更改,则将生成两行。
我想旋转这些值,以便获得以下结果:
[ID_1] | [ID_2] | [ID_3] | ... | [ID_n] | [oldValA (Str)] | [newValA (Str)] | [oldValB (Str)] | [newValB (Str)]
----------------------------------------------------------------------------------------------------------------
w | x | y | | z | "1" | "2" | "5" | "20"
a | b | c | | d | "2" | "3" | NULL | NULL
我找不到像这样旋转多个字符串字段的任何好的资源。
解决方案
推荐阅读
- javascript - 带有 .p12 和 pem 证书的 Node.js POST 请求输出“错误:读取 ECONNRESET”
- asp.net-core-mvc - 与操作方法关联的视图名称可能不同
- android - Auth0 Android - 如何更新 id_token?
- ios - 为什么即使我完成了所有必要的步骤,我的代理人也无法工作?
- html - 自定义下拉菜单在移动设备上保持打开状态
- git - 捆绑后更新远程参考
- python - 根据前一页的 QCheckBox.isChecked() 跳过下一个 QWizardPage
- python - 如何在超过阈值后遍历熊猫数据框中的每一行并设置等于 nan 的值?
- java - 使用 Gradle 5 使用 Lombok 编译 Kotlin 和 Java
- r - 为什么“rbind”比“set”更快地增长数据表?