[SQL ] 紀錄轉為欄位的問題

作者: Peruheru (還在想)   2015-03-11 16:41:50
(針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行)
資料庫名稱:
SQL SERVER 2005
資料庫版本:
內容/問題描述:
假設主表是"使用者"
另一張表是"對商品的評分"
使用者:
帳號 名稱 性別
A001 甲 男
A002 乙 女
對商品的評分:
帳號 商品 評分
A001 X商品 10
A001 Y商品 8
A002 X商品 9
A002 Z商品 7
希望可以產生像是如下的結果:
帳號 名稱 性別 商品1 商品1評分 商品2 商品2評分 商品3...etc
A001 甲 男 X商品 10 Y商品 8
A002 乙 女 X商品 9 Z商品 7
每個人評分過的商品數量不一,但最多不超過四個
商品則可能有數十種
之前是使用子查詢為要變成欄位的子表加上row_number
然後選擇row_number分別為1,2,3,4的資料,就可以分別取出填入欄位
但是這次目標資料庫SQL SERVER 2005版沒有row_number函數可以用
查了一下取代方法為使用top與order by 分別正序與反序各取一次來取得特定X筆記錄
請問是否只能這樣做了呢? 謝謝
作者: Ammenze (藍天白雲)   2015-03-12 12:53:00
SQL Server 2005有Row_Number函式可用

Links booklink

Contact Us: admin [ a t ] ucptt.com