这里有三个表:
a 表 +----+ | id | +----+ | 1 | | 2 | | 3 | +----+ b 表 +----+------+------+ | id | a_id | c_id | +----+------+------+ | 1 | 1 | 1 | | 2 | 1 | 2 | | 3 | 2 | 2 | | 4 | 2 | 3 | | 5 | 3 | 1 | | 6 | 3 | 3 | +----+------+------+ c 表 +----+ | id | +----+ | 1 | | 2 | | 3 | +----+ b 表 关联了 a 表 和 c 表
查询全表时:
SELECT a.id, group_concat(c.id) FROM a LEFT JOIN b ON b.a_id = a.id LEFT JOIN c ON c.id = b.c_id GROUP BY a.id; +----+--------------------+ | id | group_concat(c.id) | +----+--------------------+ | 1 | 1,2 | | 2 | 2,3 | | 3 | 1,3 | +----+--------------------+ 然后有条件: where c.id = 2
我想要的:
+----+--------------------+ | id | group_concat(c.id) | +----+--------------------+ | 1 | 1,2 | | 2 | 2,3 | +----+--------------------+ 然而结果是:
+----+--------------------+ | id | group_concat(c.id) | +----+--------------------+ | 1 | 2 | | 2 | 2 | +----+--------------------+ 如何写 查询条件?
源氏大雕
