gpt4 book ai didi

php - MySQL 需要来自连接的多行的多个值

转载 作者:行者123 更新时间:2023-11-29 01:09:04 24 4
gpt4 key购买 nike

我有以下表结构。

表A

id    name
1 name1
2 name2

表B

a_id   b_id
1 1
1 2

如何选择表 A 中 b_id 为 1 和 2 的所有行?表B是表A与另一个表的映射表,其内容与本题无关。

感谢您的宝贵时间和帮助!

最佳答案

此查询使用 COUNT(DISTINCT) 来确保两个值都存在。如果我没有使用 DISTINCT,它可能会错误地计算 TableB 中看起来像这样的匹配行,而实际上它不应该这样:

a_id   b_id
1 1
1 1


select a.id, a.name
from TableA a
inner join (
select a_id
from TableB
where b_id in (1, 2)
group by a_id
having count(distinct b_id) = 2 #this number matches no. of unique values in IN clause
) b on a.id = b.a_id

SQL Fiddle example

关于php - MySQL 需要来自连接的多行的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11196769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com