Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何根据明细表中存在的2个条件选择MySQL主表中的1行_Mysql - Fatal编程技术网

如何根据明细表中存在的2个条件选择MySQL主表中的1行

如何根据明细表中存在的2个条件选择MySQL主表中的1行,mysql,Mysql,我有两张桌子——主桌和副桌 表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 查询结果——我只希望选择包含详细行的主

我有两张桌子——主桌和副桌

表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"
';

谢谢@cjg。我将测试它并发回
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