台灣最大程式設計社群網站
線上人數
1563
 
會員總數:245969
討論主題:189549
歡迎您免費加入會員
討論區列表 >> MS SQL >> 動態合併資料表
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
動態合併資料表
價值 : 50 QP  點閱數:884 回應數:2
樓主

Jessica
門外漢
0 3
68 1
發送站內信

各位先進前輩好:


我現在有一個A資料表的資料如下:
---------------------
| NAME | VALUE |
---------------------
| A | 1 |
---------------------
| A | 2 |
---------------------
| A | 3 |
---------------------
| B | 4 |
---------------------
| B | 5 |
---------------------
| B | 6 |
---------------------
| B | 7 |
---------------------
| C | 8 |
---------------------
| C | 9 |
---------------------


現在希望將A資料表Group by NAME轉換成B資料表:
-------------------------------------------------------------
| NAME | VALUE | NAME | VALUE | NAME | VALUE |
-------------------------------------------------------------
| A | 1 | B | 4 | C | 8 |
-------------------------------------------------------------
| A | 2 | B | 5 | C | 9 |
-------------------------------------------------------------
| A | 3 | B | 6 | | |
-------------------------------------------------------------
| | | B | 7 | | |
-------------------------------------------------------------


稍早有爬文,有查到可以利用FULL JOIN合併成B資料表
但由於A資料表的NAME欄位不一定只有ABC三種資料
不知道該怎麼利用迴圈的方式動態合併資料表?
或是有其他方式可以達成目的?
謝謝



搜尋相關Tags的文章: [ 動態 ] , [ 合併 ] , [ 資料表 ] ,
本篇文章發表於2016-02-21 14:55
1樓
不錯的參考

Daimom
捐贈 VP 給 Daimom 檢舉此回應
通常直式轉橫式會使用pivot
結果會變成
|A|B|C|
----------------
|1|4|8|
---------------
|2|5|9|
----------------
|3|6|NULL|
|NULL|7|NULL|

full join 應該合併不出你要的結果才對.

如果這個資料不是需很即時的話,
可以建立一個temp table,每天某個時段定時跑。
1.先取得有哪些值 select distinct name;
2.建立迴圈,開始塞資料。參考
本篇文章回覆於2016-02-22 13:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
最有價值解答

Hsu,Harry
檢舉此回應

本篇文章回覆於2016-02-22 21:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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