0
创建的所有行我有表MySQL的:其中至少有一个属性是属于
a (id INT, name VARCHAR(100))
b (id INT, name VARCHAR(100))
a_b (a INT, b INT)
我想建立一个查询来获取所有的B的地方a.name等于“鲍勃”,但也包括所有与a.name一样的b.id具有相同的b.id。
例如,
a: b: a_b:
id | name id | name a | b
_________________ _________________ _________
1 | 'bob' 1 | 'dark' 1 | 1
2 | 'tony' 2 | 'light' 1 | 2
3 | 'steve' 3 | 'neg' 2 | 1
4 | 'elon' 4 | 'elon' 3 | 1
所以,我需要所有B与a.name = '鲍勃'
SELECT * FROM a_b
JOIN a ON a.id = a_b.a
JOIN b ON b.id = a_b.b
WHERE a.name = 'bob'
这得到了当b.id = 1和2,但该行当b.id相同时,我也想要所有的a.names。理想情况下,我希望它返回
a's 1,2,3. b:1
a's 1 b: 2
因此,所有的B的其中一个的name属性中的至少一个等于“鲍勃” 有没有办法在SQL做到这一点,或者我会得到所有行和编程语言中的过滤操作?