我有這樣的表(說表1):的Oracle SQL:GROUP BY和HAVING子句
ID1 | ID2 | NAME
其中(ID1,ID2)是複合PK。
而這另一個表(比如表2):
ID | COD1 | COD2 | DATA | INDEX
其中ID爲PK。
我要加入這個表上((TABLE1.ID1 = TABLE2.COD1) AND (TABLE1.ID2 = TABLE2.COD2))
我的問題是,對於TABLE2的每個ID,我有不同的索引很多元組。我只想加入其INDEX是其組的最大值(COD1,COD2)的元組。
舉例來說,如果我有:
ID1|ID2|NAME
10 10 JOSH
ID|COD1|COD2|DATA|INDEX
1 10 10 YES 0
2 10 10 NO 1
3 11 10 OH 0
我想:
ID1|ID2|NAME|DATA
10 10 JOSH NO
我都試過,但它不工作:
SELECT ID1, ID2, NAME, DATA
FROM TABLE1 T1 JOIN TABLE2 T2 ON T1.ID1 = T2.COD1 AND T1.ID2 = T2.COD2
GROUP BY ID1, ID2, NAME, DATA HAVING INDEX = MAX(INDEX)
感謝。
被它給任何錯誤? – varsha 2015-02-09 10:21:15