[pgsql-jp: 25508] サブクエリーでのdistinctの利用について

SEIJI SUGAHARA/NIDEC SEIJI_SUGAHARA @ notes.nidec.co.jp
2002年 4月 2日 (火) 14:28:10 JST


SQL初心者です。初めて投稿させていただきます。
現在、サブクエリーを使ってのselect文を作成したいのですが、うまく表現できま
せん。
テーブルとしては、以下のようなものがあります。

<テーブル名:TABLE>
|---------+---------+----------|
|         |         |          |
|    A    |    B    |    C     |
|         |         |          |
|---------+---------+----------|
|         |         |          |
|   ***   |   ア    | ふがふが |
|         |         |          |
|---------+---------+----------|
|         |         |          |
|   ***   |   ウ    | ほげほげ |
|         |         |          |
|---------+---------+----------|
|         |         |          |
|   **    |   イ    | ふむふむ |
|         |         |          |
|---------+---------+----------|
|         |         |          |
|   ***   |   エ    | ふがふが |
|         |         |          |
|---------+---------+----------|


ほしいデータとしては、Aのデータがが***の時、かつBデータで昇順並び替えの時
のCデータがほしいのです。
それぞれ
〓select distinct on (C) * from TABLE where A = '***';
〓select C from TABLE order by B;
で表現しましたが、これのあわせ技を考えています。

最初考えたのは、
select C from (select C from TABLE order by B) as TESTTABLE where A = '
***';
で、これに重複を削除するために、
select distinct on (C) * from (select C from TABLE order by B) as
TESTTABLE where A = '***';
としたのですが、
これだと〓と同じ表現になってしまいます。
もしSQL文作成の誤りがお分かりでしたらご指摘のほどよろしくお願いいたしま
す。






pgsql-jp メーリングリストの案内