Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Data di scadenza: ordinarla in modo razionale

    Ciao a tutti,
    ho un campo del database che mi rappresenta una data di scadenza; tale data può essere nulla oppure settata.

    Mi è necessario fare degli ordinamenti su tale data, ad esempio ordinandoli in modo da mostrare le entry più vicine alla data di scadenza.

    Utilizzo questo codice:
    codice:
    SELECT nome, data_scadenza
    FROM schede
    ORDER BY data_scadenza ASC
    Lafregatura sta nel fatto che i record con data di scadenza NULL vengono messi per primi, invece sarebbe più logico mi vengano mostrate prima le entry con data di scadenza a crescere, poi quelle che non scadono.

    E' possibile con una singola query?


  2. #2
    codice:
    SELECT nome, data_scadenza,
    if(data_scadenza = '0000-00-00', 2, 1) as ordine
    FROM schede
    ORDER BY ordine, data_scadenza ASC

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

  3. #3

  4. #4
    e' possibile anche con una UNION

    selezioni prima dove where data_scadenza > '0000-00-00'
    con il suo ordinamento
    UNION
    select .... where data_scadenza = '0000-00-00'
    altro ordinamento

    Il vantaggio della UNION sarebbe che puoi fare due ordinamenti differenti, per esempio le date senza scadenza ordinate per articolo o cliente... o per data ordine...


    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.