-3

我需要你的帮助来解决这个问题:

select idiomas.bandeira,conteudos.nid, dreg, titulo, tag from conteudos 
            inner join conteudos_tag on conteudos.nid = conteudos_tag.cod_conteudo
            inner join tagstree on conteudos_tag.cod_tag = tagstree.nid
            inner join idiomas on conteudos.nid_idioma = idiomas.nid
            order by conteudos.nid desc limit 5

而这个回报:

img/idiomas/pt.png;30;2013-04-04 12:41:00;titulo;Voip
img/idiomas/pt.png;30;2013-04-04 12:41:00;titulo;Linux
img/idiomas/pt.png;28;2012-08-07 01:50:18;Números e Tarifários;Números e tarifários
img/idiomas/pt.png;27;2012-08-07 01:33:48;Terminais VoIP2;Terminais
img/idiomas/pt.png;26;2012-08-03 19:06:13;Rede Estruturada;Rede Estruturada

我需要返回这个:

img/idiomas/pt.png;30;2013-04-04 12:41:00;titulo;Voip, Linux
img/idiomas/pt.png;28;2012-08-07 01:50:18;Números e Tarifários;Números e tarifários
img/idiomas/pt.png;27;2012-08-07 01:33:48;Terminais VoIP2;Terminais
img/idiomas/pt.png;26;2012-08-03 19:06:13;Rede Estruturada;Rede Estruturada

更改位于第 1 行

崔睿

4

1 回答 1

2

好吧,这有点难说,因为我真的不知道哪一列是哪一列,但我估计:

select idiomas.bandeira,conteudos.nid, dreg, titulo,
GROUP_CONCAT(tag, SEPARATOR ', ') AS tag from conteudos 
        inner join conteudos_tag on conteudos.nid = conteudos_tag.cod_conteudo
        inner join tagstree on conteudos_tag.cod_tag = tagstree.nid
        inner join idiomas on conteudos.nid_idioma = idiomas.nid
GROUP BY conteudos.nid
        order by conteudos.nid desc limit 5

这会将所有结果按看似唯一的分组nid。如果同一个标签有多个标签nid,它们将存储在一列中并用 分隔,对所有非聚合列进行分组可能更准确,或者GROUP_CONCAT如果有其他非唯一列也使用它。

于 2013-04-03T23:13:51.840 回答