SELECT a.*, GROUP_CONCAT(b.name) FROM a, b WHERE b.ID IN (1,3) GROUP BY a.ID;
============================================================================
这句与SELECT a.*, GROUP_CONCAT(b.name) FROM a, b WHERE b.ID IN ('1,3') GROUP BY a.ID;
是不同的,b.ID IN ('1,3')相当与b.ID in (a.b),可以用find_in_set解决SELECT a.*, GROUP_CONCAT(b.name) FROM a, b WHERE find_in_set(b.ID,a.b) GROUP BY a.ID;:-)
============================================================================
这句与SELECT a.*, GROUP_CONCAT(b.name) FROM a, b WHERE b.ID IN ('1,3') GROUP BY a.ID;
是不同的,b.ID IN ('1,3')相当与b.ID in (a.b),可以用find_in_set解决SELECT a.*, GROUP_CONCAT(b.name) FROM a, b WHERE find_in_set(b.ID,a.b) GROUP BY a.ID;:-)
OUP BY a.ID;
+----+------+----------------------+
| ID | b | GROUP_CONCAT(b.name) |
+----+------+----------------------+
| 1 | 1,3 | a,c |
+----+------+----------------------+
1 row in set (0.39 sec)测试通过。不过表内分别只有1、3条数据就用了0.39秒,这效率……