0

我有两张桌子

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 的行:

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 回答