Originariamente inviato da piero.mac
bisognerebbe almeno vedere la query. Se tenti di ordinare le date con quel formato non ci riuscirai mai. Saranno prima ordinate per giorno, poi per mese e poi per anno mentre l'ordinamento dovrebbe avvenire per anno, mese, giorno.
Ciao Piero,
ovviamente le date non sono in quel formato, ma il classico 2011-01-15
posto la query:
codice:
SELECT
sottoeventi_personale.id_sottoevento,
sottoeventi_personale.modalita,
sottoeventi_personale.id_personale,
sottoeventi_personale.data_sottoevento,
sottoeventi_personale.tipo_cancellazione,
sottoeventi_personale.in_sostituzione,
sottoeventi_personale.ore,
DATE_FORMAT(sottoeventi_personale.data_sottoevento,'%d-%m-%Y') as data_sottoevento_it,
sottoeventi.id,
sottoeventi.id_evento,
sottoeventi.id_pdv,
sottoeventi.status,
eventi.id AS evento_id,
eventi.nome_evento,
pdv.insegna,
pdv.provincia,
pdv.citta,
pdv.nome_negozio,
pdv.via,
personale.cognome,
personale.nome,
regioni.id_regione,
giorni_festivi.data
FROM sottoeventi_personale
LEFT JOIN personale
ON sottoeventi_personale.id_personale=personale.id
LEFT JOIN sottoeventi
ON sottoeventi_personale.id_sottoevento=sottoeventi.id
LEFT JOIN eventi
ON sottoeventi.id_evento=eventi.id
LEFT JOIN pdv
ON sottoeventi.id_pdv=pdv.id
LEFT JOIN insegne_pdv
ON pdv.insegna=insegne_pdv.id
LEFT JOIN province
ON pdv.provincia=province.nome
LEFT JOIN regioni
ON province.id_regione=regioni.id_regione
LEFT JOIN giorni_festivi
ON sottoeventi_personale.data_sottoevento=giorni_festivi.data
WHERE sottoeventi_personale.data_sottoevento BETWEEN '2011-01-01' AND '2011-01-31'
ORDER BY sottoeventi.id_evento,sottoeventi.id,sottoeventi_personale.data_sottoevento ASC
per me il problema è nell'order by che attualmente ordina i sottoeventi per id, ma non trovo modo di ordinarli come mi serve.
L'output genera una lista partendo dall'evento che contiene tutti i suoi sottoeventi i quali a loro volta contengono le varie date in ordine crescente, a me servirebbe che anche i sottoeventi fossero ordinati partendo da quello con la data minore a scendere, quindi come dal primo post:
sottoevento 1
2011-01-02
2011-01-03
2011-01-04
sottoevento 2
2011-01-04
2011-01-05
2011-01-06
2011-01-07
sottoevento 3
2011-01-06
2011-01-07
e così via