Mysql 如何获取查询的所有标记?

Mysql 如何获取查询的所有标记?,mysql,Mysql,我正在使用标签系统公认答案中所述的“Toxi”解决方案。我想搜索任何带有“苹果”标签的问题。我还需要返回该问题的所有其他标记,但我的查询仅返回“Apple”标记: SELECT b.id, allTags.* , GROUP_CONCAT( t.name order by t.name SEPARATOR ',') AS allTags FROM tagmap bt, bookmark b, tag t WHERE bt.tag_id = t.tag_id AND (t.name = 'Appl

我正在使用标签系统公认答案中所述的“Toxi”解决方案。我想搜索任何带有“苹果”标签的问题。我还需要返回该问题的所有其他标记,但我的查询仅返回“Apple”标记:

SELECT b.id, allTags.* , GROUP_CONCAT( t.name order by t.name SEPARATOR ',') AS allTags
FROM tagmap bt, bookmark b, tag t
WHERE bt.tag_id = t.tag_id
AND (t.name = 'Apple')
AND b.id = bt.bookmark_id
GROUP BY b.id
给我:

...,'...','...','...','2013-10-07','Apple' # only the matching tag...I need all the others
我如何获得以下信息

...,'...','...','...','2013-10-07','Apple,Tim Cook,iPhone,iPad' # the rest of the tags for this question
加上这个条件

AND (  t.name  NOT LIKE '%Apple%' )
使用以下命令:

SELECT b.id,
       alltags.*,
       (SELECT GROUP_CONCAT(t1.name ORDER BY t1.name SEPARATOR ',')
        FROM   tag t1) AS allTags
FROM   tagmap bt,
       bookmark b,
       tag t
WHERE  bt.tag_id = t.tag_id
       AND ( t.name = 'Apple' )
       AND b.id = bt.bookmark_id
GROUP  BY b.id