台灣最大程式設計社群網站
線上人數
1142
 
會員總數:241352
討論主題:186912
歡迎您免費加入會員
討論區列表 >> MS SQL >> 想請問如何把相同ID的資料放在同一列中,但是欄位要分開,不是將欄位合併起來
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
想請問如何把相同ID的資料放在同一列中,但是欄位要分開,不是將欄位合併起來
價值 : 100 QP  點閱數:325 回應數:4

樓主

light
門外漢
0 5
78 3
發送站內信

本人剛接觸SQL不久 遇到一下問題 想了很多方法都不行所以想請教各位前輩如何解決

如下
TABLE A

ID a b
1 45 05-06
1 46 05-07
1 47 05-08

要顯示成

ID a b a b a b
1 45 05-06 46 05-07 47 05-08

請教各位大大要怎麼寫SQL語法
我有想過轉置
但好像不太行

麻煩各位前輩可以指點一下

搜尋相關Tags的文章: [ 欄位 ] ,
本篇文章發表於2017-05-10 17:31
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

彩虹
檢舉此回應
我比較想知道的是你的用意是什麼呢?
原本資料表這樣子規劃一定有它的原因


1.
假如有 ID=1 有100列、1,000列
你也要這樣呈現嗎? 變成100~1000個欄位?

2.
如果ID=1有3列,ID=2有5列呢


我覺得你倒是可以把資料撈出來後再作呈現
本篇文章回覆於2017-05-10 21:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

light
檢舉此回應
你好 彩虹大大
因為資料量其實是固定的
所以想說有甚麼方式能呈現出這樣的狀態
本篇文章回覆於2017-05-11 09:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
最有價值解答

風箏
檢舉此回應
類似下面這樣嗎
左右資料結合就是join


本篇文章回覆於2017-05-11 10:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
不錯的參考

彩虹
檢舉此回應
請參考

Converting Rows to Columns (PIVOT) and Columns to Rows (UNPIVOT) in SQL Server
http://www.databasejournal.com/features/mssql/converting-rows-to-columns-pivot-and-columns-to-rows-unpivot-in-sql-server.html

ID a b
1 45 05-06
1 46 05-07
1 47 05-08

你可以考慮變成
ID 45 46 47
1 05-06 05-07 05-08

或者
ID 05-06 05-07 05-08
1 45 46 47
本篇文章回覆於2017-05-11 10:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.