我有一个表具有以下数据SQL Server的多支点
+-----------+-----------+----------+----------+--------+
| SourceZip | TargetZip | TargetID | Distance | rowNum |
+-----------+-----------+----------+----------+--------+
| 00602 | 08831 | 14780 | 1567.579 | R1 |
| 00602 | 08831 | 6398 | 1567.579 | R2 |
| 00602 | 07747 | 4290 | 1570.665 | R3 |
| 00603 | 08831 | 14780 | 1561.272 | R1 |
| 00603 | 08831 | 6398 | 1561.272 | R2 |
| 00603 | 07747 | 4290 | 1564.328 | R3 |
+-----------+-----------+----------+----------+--------+
我需要这个以下列格式
+-----------+-------------+-------------+-------------+-------------+-------------+-------------+
| SourceZip | R1_TargetID | R1_Distance | R2_TargetID | R2_Distance | R3_TargetID | R3_Distance |
+-----------+-------------+-------------+-------------+-------------+-------------+-------------+
| 00602 | 14780 | 1567.579 | 6398 | 1567.579 | 4290 | 1570.665 |
| 00603 | 14780 | 1561.272 | 6398 | 1561.272 | 4290 | 1564.328 |
+-----------+-------------+-------------+-------------+-------------+-------------+-------------+
有人告诉我,我可以用一个支点此,但是我可以找到的每个示例主轴都使用一个聚合函数,并且只为旋转数据生成一列。
这是我可以做一个单一的枢纽,或者我需要生成2个单独的数据透视表(TargetID和距离各一个),然后加入他们吗?
UPDATE
我结束了该数据被传递,我需要为一个值的字段,可以在应用程序中解析出结合到
select *
from (SELECT SourceZip, CONVERT(varchar(10), TargetID)+ '|' + CONVERT(varchar(10), Distance) as TargetSite, rowNum
FROM Targets
) as SourceTable
pivot (min(TargetSite)
for rowNum in (R1
,R2
,R3
)
) as pivottable
它的效果并不理想,但它的作品。
我仍然欣赏了多列旋转任何建议
谢谢,这是做到了。我最终把它们都当成了花车而不是变种,而且它像一个魅力一样工作。 – Broom