2013-04-03 142 views
-2

解決這個子查詢,我需要你的幫助來解決這個查詢:需要幫助在MySQL

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行

韓國社交協會 銳

回答

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

+0

對我來說似乎是對的,我會把同樣的東西,但你打敗了我 – 2013-04-03 23:14:31