我有一個表具有以下數據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