dougou8573 2011-11-15 23:54
浏览 25
已采纳

如何找到每个页面的所有标签,然后将标签连成一列?

How can I find all the tags of each page and then concat the tags into one column?

For an example,

pages table,

page_id 
1
2
3
4

tags table,

tag_id      tag_name
1           A
2           B
3           C
4           D

tagged table,

page_id     tag_id
1           1
1           2
1           3
3           2
3           3

My working query,

SELECT
    p.page_id,
    GROUP_CONCAT(t.tag_name ORDER BY t.tag_name ASC SEPARATOR ",") AS tags

FROM root_pages AS p

LEFT JOIN root_mm_pages_tags AS m
ON p.page_id = m.page_id

LEFT JOIN root_tags AS t
ON t.tag_id = m.tag_id

WHERE p.page_id = t.page_id

This is the result I am after,

page_id         tags
1               A, B, C
2               NULL
3               B, C
4               NULL
  • 写回答

1条回答 默认 最新

  • douping5015 2011-11-16 00:05
    关注

    try it without ON p.page_id = tt.page_id and WHERE p.page_id = t.page_id; also make the last join a regular one for performance.

    SELECT
        p.page_id,
        GROUP_CONCAT(t.tag_name ORDER BY t.tag_name ASC SEPARATOR ",") AS tags
    
    FROM root_pages AS p
    
    LEFT JOIN root_mm_pages_tags AS m
    ON p.page_id = m.page_id
    
    JOIN root_tags AS t
    ON t.tag_id = m.tag_id
    
    GROUP BY p.page_id
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测