Compattare i risultati di una query

di il
4 risposte

Compattare i risultati di una query

Ciao a tutti,
sto lavorando su un DB contenente più entry relative alle diverse città italiane. Attualmente, con una select, riesco ad ottenere risultati del tipo:

["ZOVENCEDO","2009"],
["ZUBIENA","2009"],
["ZUCCARELLO","2006"],
["ZUCCARELLO","2011"],
["ZUCLO","2005"],
["ZUCLO","2010"],
Volevo sapere se esiste un modo per compattare queste entry ed ottenere un risultato del tipo:

["ZOVENCEDO","2009"],
["ZUBIENA","2009"],
["ZUCCARELLO",["2006", "2011"]],
["ZUCLO",["2005","2010"]],
Grazie!

4 Risposte

  • Re: Compattare i risultati di una query

    Avevo fatto una cosa simile su SQL Server

    Fai una funzione che dato in input la città, estrae la lista degli "anni", la cicla e concatena i risultati in una stringa da restituire in output.

    Fai una procedura che estrae la lista delle città e che per ogni citta (nella select) richiama la funzione di cui sopra
  • Re: Compattare i risultati di una query

    Ciao Toki,
    ti ringrazio innanzitutto per la pronta risposta. Potresti spiegarmi come posso creare una funzione che faccia quello che hai detto tu da poter poi richiamare nella select? Se hai qualche link sull'argomento va bene uguale!(Non sono molto ferrato in SQL...)
  • Re: Compattare i risultati di una query

    Esistono diversi modi:

    ORACLE-BASE - String Aggregation Techniques
    http://www.oracle-base.com/articles/misc/string-aggregation-techniques.php
  • Re: Compattare i risultati di una query

    Ti ringrazio gibra! la pagina che mi hai girato mi è stata veramente utile! Per la cronaca ho usato la funzione "wm_concat".
Devi accedere o registrarti per scrivere nel forum
4 risposte