プロが教えるわが家の防犯対策術!

SQL文に関して質問します。
主キーが二つあるテーブルを作成したのですが。
[table_A]
ID | SubID | Name
1 | 0 | pochi
1 | 1 | tama
2 | 0 | koma
3 | 0 | koro
3 | 1 | shiro
4 | 0 | buchu
このテーブルから、IDが二つ以上あるものに関してはSubIDの大きいほうのレコードだけ取得して
ID | SubID | Name
1 | 1 | tama
2 | 0 | koma
3 | 1 | shiro
4 | 0 | buchu
という結果を出したのですが、select文が思いつきません。
副問い合わせも考えたのですが、うまくいきませんでした。
ちなみにRDBSはSQLServer2000を使用しています。

よろしくお願いします。

A 回答 (1件)

下記でどうでしょ?


手元に環境が無いので確認はしてませんが。

SELECT t1.*
FROM table_A as t1, (SELECT ID,max(SubID) as xSID FROM table_A GROUP BY ID) as t2
WHERE t1.ID=t2.ID and t1.SubID=t2.xSID;
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!