Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    [MySql] ordinamento elemento per data minore

    Buongiorno a tutti,

    non riesco a ordinare degli elementi in base alla data minore in esso contenuta, ovvero:
    Ho dei sottoeventi che possono contenere una o più date, vorrei ordinare i sottoeventi partendo usando come riferimento la data minore e così via es.:

    sottoevento 1
    08-01-2011
    09-01-2011
    10-01-2011

    sottoevento 2
    09-01-2011
    10-012011

    sottoevento 3
    12-01-2011
    13-01-2011
    14-01-2011

    ecc,ecc, sapreste darmi una mano?

    Grazie
    SK

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Se ho capito bene il tuo è solo un problema di visualizzazione dei record.

    Se è così guarda questo vecchissimo thread

    http://forum.html.it/forum/showthrea...hreadid=996605

  3. #3
    Originariamente inviato da nicola75ss
    Se ho capito bene il tuo è solo un problema di visualizzazione dei record.

    Se è così guarda questo vecchissimo thread

    http://forum.html.it/forum/showthrea...hreadid=996605
    Ciao Nicola,

    sinceramente ci ho capito poco mi stai dicendo che non è possibile tramite query?

  4. #4
    Da quanto ho letto in quel post li c'è un controllo se una valore è diverso da....qui ci sono più date, nel senso non è semplicemente on off

  5. #5
    fondamentalmente non riesco a ordinare i sottoeventi partendo da quello che ha la data minore a scendere

  6. #6
    Originariamente inviato da serialkiller
    fondamentalmente non riesco a ordinare i sottoeventi partendo da quello che ha la data minore a scendere
    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.

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

  7. #7
    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

  8. #8
    Ok dici come vorresti ordinarli, ma non dici invece come te li ordina. Potrebbe aiutare a capire di piu'.

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

  9. #9
    Originariamente inviato da piero.mac
    Ok dici come vorresti ordinarli, ma non dici invece come te li ordina. Potrebbe aiutare a capire di piu'.
    Attualmente li ordina in questo modo:

    Eveno A

    Sottoevento 1

    2011-01-02
    2011-01-03
    2011-01-04

    Sottoevento 2

    2011-01-01
    2011-01-02
    2011-01-10

    Sottoevento 3

    2011-01-03
    2011-01-04


    Tanto per fare un esempio...

  10. #10
    Non mi sono spiegato bene?

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.