0

2 つのテーブルがあります -- マスターと詳細

テーブル A はマスターであり、一意の行が含まれています

ID Name
1  Abc
...
7  Def
...
19 Xyz

テーブル B は詳細で、マスター行ごとに複数の行が含まれています

Ref ID  Desc
1   10  abcdef
1   15  ghijk
1   20  lmnop
...
7   05  qrstu
7   10  vwxyz
7   15  ygfdt
7   20  kjqts
...
19  05  htyge
19  15  gqwes

クエリ結果 -- 関連する詳細行「10」と「15」の両方を含む詳細行を持つマスター行のみを選択したい

したがって、行 1 と行 7 のみが選択されます。

助けてくれてありがとう。

私のクエリのシェルは次のとおりです。

$query_string = '
  SELECT a.ID, Name
  FROM table_a AS a
  LEFT JOIN table_b AS b ON b.ref = a.ID
  WHERE b.ID = "10" AND b.ID = "15"
';
4

1 に答える 1

1
SELECT a.ID, Name
FROM table_a AS a
LEFT JOIN table_b AS b ON b.ref = a.ID
WHERE b.ID IN (10,15)
group by a.ID
having count(distinct b.id) = 2
于 2013-04-03T17:57:47.370 に答える