[Risolto] utilizzo group_concat

Discussioni sulle caratteristiche di database
Rispondi
dino
Messaggi: 108
Iscritto il: venerdì 6 gennaio 2012, 15:25

[Risolto] utilizzo group_concat

Messaggio da dino »

salve, eccomi qua con l'ennesima domanda:
ho un piccolo db "scolastico" con cui gestisco i carichi orari dei docenti.
Ora vorrei utilizzarlo anche per predisporre lo schema dei verbali di classe.
si tratta indicativamente di 3 tabelle (per creare la relazione molti a molti: una classe ha più insegnanti ma un insegnante lavora in più classi)
con il sistema collaudato del "mail-merge" predispongo una copia del verbale dove inserisco il nome della classe e dove dovrei mettere l'elenco di tutti i docenti componenti il consiglio di classe.
quindi dovrei creare una query dove raggruppati nella classe ci sono tutti i nomi e cognomi dei docenti. Esempio
classe 1a presenti: pierino rossi, giovanni bianchi, laura verdi.....
tutti i record della tabella insegnanti dovrebbero quindi venire concatenati
SELECT DISTINCT "classe"."id_consiglio" "id_consiglio", "classe"."nome_classe" "nome_classe", GROUP_CONCAT( "docenti"."cognome_docente" ) AS "NOME" FROM "collegamento", "classe", "docenti" WHERE "collegamento"."id_classe_cool" = "classe"."id_consiglio" AND "collegamento"."id_docente_coll" = "docenti"."id_docente" ORDER BY "cognome_docente" ASC

mi da "accesso negato" ma se tolgo la parte GROUP_CONCAT( "docenti"."cognome_docente" ) AS "NOME" , funziona.
Dove sbaglio?
Ultima modifica di dino il mercoledì 4 gennaio 2017, 18:52, modificato 1 volta in totale.
libreoffice 4.2 sia su win che su ubuntu
Avatar utente
charlie
Site Admin
Site Admin
Messaggi: 8954
Iscritto il: mercoledì 19 dicembre 2012, 10:50
Contatta:

Re: utilizzo group_concat

Messaggio da charlie »

Ciao, GROUP_CONCAT non è supportata dalla versione 1.8 del database HSQLDB incorporato con Base. Devi passare alla versione 2.3.3. per utilizzarla. Per farlo devi utilizzare un connettore Jbdc oppure operare con uno splt database. Trovi rifermenti sul forum inglese.
In questo post viewtopic.php?f=13&t=7244&p=38278&hilit ... ase#p38278, ho proposto una soluzione per usare la versione 2 senza installarla.
charlie
macOS 14.6.1 Sonoma: Open Office 4.1.15 - LibreOffice 7.5.7.2
http://www.charlieopenoffice.altervista.org
dino
Messaggi: 108
Iscritto il: venerdì 6 gennaio 2012, 15:25

Re: utilizzo group_concat

Messaggio da dino »

perfetto... funziona a meraviglia dopo aver seguito il tuo consiglio!
posto anche la query che potrebbe venir utile ad altri

SELECT GROUP_CONCAT( SPACE(2)|| "cognome_docente"|| SPACE(2) || "nome_docente") AS "NOME", "classe"."nome_classe", "collegamento"."id_classe_cool", "classe"."id_consiglio" FROM "collegamento" "collegamento", "classe" "classe", "docenti" "docenti" WHERE "collegamento"."id_classe_cool" = "classe"."id_consiglio" AND "collegamento"."id_docente_coll" = "docenti"."id_docente" GROUP BY "classe"."nome_classe", "collegamento"."id_classe_cool", "classe"."id_consiglio"
libreoffice 4.2 sia su win che su ubuntu
Rispondi