回答

收藏

使用SQL将多个字段合并为一个字段

技术问答 技术问答 231 人阅读 | 0 人回复 | 2023-09-14

我有三个表tag,page,pagetag/ d7 k, C+ j, r! H6 y( ^1 V
以下数据
: p# X2 C' m7 G& R( d7 |1 k5 C! p5 E% G1 \1 w+ |- a
ID      NAME      page                                        page  233                                                                                                                                                                                                                                                                                                                                                                                                                                                                       page                                                                                                                                                 page 4标签
9 b% b3 \% |$ u, uID      NAME      tag                                        tag  233                                                                                                                                                                                                                                                                                                                                                                                                                                                                       tag                                                                                                                                                 tag 4页面标签, `1 |" M' l0 B' a4 w2 b) J
ID   PAGEID  TAGID                   33    3       444                  15  15           26                  3                                  33                                                                                                                                            4444444444444444444444                               我想在查询中得到一个包含SQL标签名字符串对应于每一页。这是我想要的输出。
8 v, C% J4 e$ r2 {" e6 {ID      NAME       TAGS      page 1     tag 1,tag 2,tag                                                                                                   page 2      tag 1,tag3333                              page 3     tag 4444                                                           page 4SQL可能吗?
+ X& h3 H. g# j* M' _我正在使用MySQL。尽管如此,如果可能的话,我希望有一个独立于数据库供应商的解决方案。4 w1 s1 X/ o7 e$ `, Q! |) p, C5 R
                                                                ' [$ ~7 O, Q, I0 D
    解决方案:                                                               
2 }/ r' T! y- o% f( A$ o9 B                                                                塞尔吉奥·德尔阿莫(Sergio del Amo):$ U3 _+ k3 W8 ]0 N- ]
但是,我没有没有标签的页面。我认为我需要用左外部联系来编写查询。9 M! |5 O$ ?' d( b5 G" e, U1 H
SELECT pagetag.id,page.name,group_concat(tag.name)FROM(    page LEFT JOIN pagetag ON page.id = pagetag.pageid)LEFT JOIN tag ON pagetag.tagid = tag.idGROUP BY page.id;这不是一个很漂亮的查询,但应该给你想要的-pagetag.id而且group_concat(tag.name)会null例子4页贴在你上面,但页面会出现在结果中。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则