Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Group_concat

  1. #1

    Group_concat

    Questo è il problema. Non riesco a far funzionare la funzione GROUP_CONCAT e non trovo una spiegazione esauriente su internet.
    Posso applicarla alla query che uso io per avere l'elenco delle arti per ogni artista?

    tipo:
    [code]
    $query = "SELECT *, if(pseudonimo = '', nome, pseudonimo) AS ordine,
    (
    SELECT GROUP_CONCAT($tabella_arti.arte ORDER BY $tabella_arti.arte ASC SEPARATOR ‘, ‘)
    FROM $tabella_artisti_arti
    JOIN $tabella_arti ON $tabella_arti.id_arti = $tabella_artisti_arti.id_arti
    WHERE $tabella_artisti_arti.id_artisti = $tabella_artisti.id_artisti
    ) AS artipraticate
    FROM $tabella_artisti
    LEFT JOIN $tabella_artisti_arti
    ON $tabella_artisti.id_artisti = $tabella_artisti_arti.id_artisti
    LEFT JOIN $tabella_arti
    ON $tabella_arti.id_arti = $tabella_artisti_arti.id_arti
    WHERE arte = '$art'
    ORDER BY ordine";


    La struttura delle tabelle è più o meno:

    $tabella_artisti {id_artista, nome, ...}
    $tabella_artistiarti (relazione) {id_artista, id_arte}
    $tabella_arti {id_arte, arte, ...}
    All'uomo non verrà mai tanto male quanto dall'uomo.

  2. #2
    ma non funziona semplicemente con:

    codice:
    $query = "SELECT *, if(pseudonimo = '', nome, pseudonimo) AS ordine,
    GROUP_CONCAT($tabella_arti.arte ORDER BY $tabella_arti.arte ASC SEPARATOR ‘, ‘)
    AS artipraticate
    FROM $tabella_artisti
    LEFT JOIN $tabella_artisti_arti 
    ON $tabella_artisti.id_artisti = $tabella_artisti_arti.id_artisti
    LEFT JOIN $tabella_arti 
    ON $tabella_arti.id_arti = $tabella_artisti_arti.id_arti
    WHERE arte = '$art'
    GROUP by ordine
    ORDER BY ordine";
    il gruppo concatenazione deve avere l'indicazione di quale campo raggruppare.... GROUP BY.

    al limite se hai tante voci "arte" identiche per ogni "ordine" usa il distinct nel group_concat

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.