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