0

私は2つのテーブルを持っています

id    |    name
1     |    foo
2     |    foo
2     |    foo       <- duplicated id
3     |    bar

id    |    value
1     |    100
1     |    200
2     |    300      <- same value and id
2     |    300      <- 
3     |    500

foo という名前の各 ID について、2 番目のテーブルから行を取得する必要があります。

1     100
1     200
2     300
2     300

id/name テーブルは正規化されておらず、それについては何もできません。したがって、テーブル 1 から個別の ID を選択し、テーブル 2 から個別の ID/値を選択する必要があります。これを行う方法はありますか?

4

1 に答える 1

2

使用している SQL のバージョンを指定しません。以下は、どのバージョンでも機能するはずです。

select tabl2.*
from (select distinct id, name
      from table1
     ) join
     table2
     on table1.id = table2.id
where table1.name = 'foo'
于 2012-08-16T19:53:34.743 に答える