我有很多表并执行大查询(大约 5-7 个左连接)。看起来像这样
SELECT *, t.id
GROUP_CONCAT(field SEPARATOR '|') AS fields,
GROUP_CONCAT(other SEPARATOR '|') AS others
FROM table t
LEFT JOIN tablefields tf ON t.id = tf.user_id
LEFT JOIN tableothers to ON t.id = to.user_id
GROUP BY t.id
这是问题。所有字段都连接良好,但即使连接表中只有一行,两个字段也会像 'value|value|value|value' (15-17 次) 。
我做错了什么?
附言
我不能使用 DISTINCT,因为一个字段是 section_id 而另一个字段是 note。注意可能相似,但 section_id 是唯一的。
聚苯乙烯
https://gist.github.com/3098105
查看查询结果的一部分。
mysql> SELECT * FROM tablename;
+----+---------+------------+-----------+
| id | user_id | section_id | note_data |
+----+---------+------------+-----------+
| 1 | 1331 | UserVideo | test |
| 2 | 1331 | UserNCAA | test |
+----+---------+------------+-----------+
2 rows in set (0.00 sec)