【发布时间】:2017-05-11 13:30:34
【问题描述】:
我想将两张表合并为一张,但问题是一张表是水平格式,另一张是垂直格式
以下是表结构 表一:
EmpID | Code | Name | Fld1 | Fld2 | Fld3 | Fld4
-- |---- | ------| --- | ---- |---- |----
1 | 1008M | ABC | temp1 | temp2 | temp3 | null
2 | 1039E | XYZ | temp1 | null | null | null
3 | 1040E | TYS | null | null | null | temp6
表 2:
EmpID | FieldName | Value
-- |---- | ------
1 | FH | 1000
1 | FB | 1220
2 | FHRA | 3000
2 | FB | 3000
3 | FB | 3000
期望的输出:
EmpID | Code | Name | Fld1 | Fld2 | Fld3 | Fld4 | FH | FB | FHRA
-- |---- | ------| --- | ---- |---- |---- | --- |--- | ----
1 | 1008M | ABC | temp1 | temp2 | temp3 | null |1000 |1210| 0
2 | 1039E | XYZ | temp1 | null | null | null |0 |3000| 3000
3 | 1040E | TYS | null | null | null | temp6|0 |3000| 0
我曾尝试使用 Pivot 查询,但它没有按预期工作。
【问题讨论】:
-
请包含您到目前为止尝试过的查询?
-
将第一个表与旋转的第二个表连接起来。
-
@AbdulRasheed 实际上两个表输出都是动态查询stackoverflow.com/questions/41330029/… 但我无法动态地将两个查询合并为一个
-
@Nilesh 你能在下面查看我的答案吗?
标签: c# sql sql-server sql-server-2008 sql-server-2005