2
因此,我需要从一个表中选择不同的值,但从另一个表中连接所有相关值,但是在同一个查询中。mysql从一个表中选择来自另一个表的连续结果
基本上我继TOXI TagSystem架构http://forge.mysql.com/wiki/TagSchema#Toxi
三表许多一对多之间的映射。
而且我需要在每行上显示一个插入的值(文档),但其中的一列我希望文件已用逗号分隔的所有标签。
现在我有
SELECT
docs.id AS id,
docs.orig_file AS orig_file,
docs.date_sent AS date_sent,
tags.tag_name AS alltags
FROM documat AS docs
LEFT JOIN documat_file2tag AS f2t ON f2t.doc_id = docs.id
LEFT JOIN documat_tags AS tags ON tags.id = f2t.tag_id
但这是重复的行如果特定docs.id具有比标签多。最终的结果,我想对每行是:
| ID | orig_file | date_sent | alltags |
随着期望的结果例如:
| X | example_value.pdf | 2012-03-23 10:14:05 | tag_ex_1, tag_ex_2, etc |
你可以使用子查询和GROUP_CONCAT?请参阅http://stackoverflow.com/questions/276927/can-i-concatenate-multiple-mysql-rows-into-one-field – ovolko 2012-04-18 08:37:48
@ovolko,因为我有三张表,我需要仔细选择正确的。怎么样? Sql真的是我的弱点:P – eduardev 2012-04-18 08:40:40
确定好像子选择甚至不需要:) – ovolko 2012-04-18 08:43:35