我搜索並不能找到一個解決方案,這恰好符合我的需要,我也可以找到一個我可以修改。我有一個數據庫表,爲了簡單起見,我們會說它有三列(packageID
,carrier
和sequence
)。對於任何包裹,可以有一個或多個承運人處理包裹。我可以這樣做拼合可變長度DB行成一列
SELECT packageID, carrier
FROM packageFlow
ORDER BY sequence
查詢來獲取所有已處理的包看起來像人的名單:
packageID, carrier
1, Bob
1, Jim
1, Sally
1, Ron
2, Reggie
2, Mary
2, Bruce
我需要的不過是獲得的結果爲行,看起來像:
packageID|carrier1|carrier2|carrier3|carrier4
1 |Bob |Jim |Sally |Ron
2 |Reggie |Mary |Bruce
樞軸似乎並沒有做什麼,我需要的,因爲我沒有任何聚集,我不能得到一個CTE正常工作的。我很感激任何向正確方向推動。
你應該告訴我們您正在使用的RDBMS。 Oracle'LEAD'有助於這種事情。 – Marc 2013-03-01 16:31:46
duplicate http://stackoverflow.com/questions/5031204/does-t-sql-have-an-aggregate-function-to-concatenate-strings? – mdn 2013-03-01 16:32:03
你沒有指定大多數DMBS一個DBMS但[這個答案](http://stackoverflow.com/questions/10791247/sql-server-possible-pivot-solution/10796492#10796492)的解決方案。 – GarethD 2013-03-01 16:48:56