我有以下結構的表:選擇適當的值作爲列標題
ID KEY VALUE SEQ
1 Amount 5 2
1 Amount 4 1
1 Type T1 2
1 Type T1 1
2 Amount 10 2
2 Amount 5 1
2 Type T2 2
2 Type T2 1
我想創建一個查詢來獲取這樣的:
ID Amount Type
1 5 T1
2 10 T2
正如你可以看到有可能是(ID,Key)的多種組合,但(ID,Key,Seq)是唯一的。
SELECT T.ID,
T1.VALUE as Amount,
T2.VALUE as Type
FROM
(SELECT ID, MAX(SEQ) as MAXSEQ FROM TABLE GROUP BY ID) as T
JOIN
TABLE as T1
ON T1.ID = T.ID
AND T1.KEY = 'Amount'
AND T1.SEQ = MAXSEQ
JOIN
TABLE as T2
ON T2.ID = T.ID
AND T2.KEY = 'Type'
AND T2.SEQ = MAXSEQ
但我得到的是我沒想到
ID Amount Type
1 5 T1
1 4 T1
1 10 T1
1 5 T1
2 10 T2
2 5 T2
2 4 T2
2 5 T2
我已經看過這個帖子的結果,但儘管它有助於here
任何想法,它並不適用於我的情況誰來解決這個問題?
我想得到理想的結果。 http://sqlfiddle.com/#!3/f3e87/1我在做什麼? – Andrew
感謝您的評論安德魯..您正在使用您的示例sql服務器。我使用oracle – locorecto