Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Mysql Order If

  1. #1

    Mysql Order If

    Buongiorno a tutti, chiedo aiuto perchè non ne salto fuori da una query.
    Avrei bisogno di impostare una condizione in un ordinamento, cioè se la data di oggi è minore uguale alla data di "scadenza" ordinare per campo1 e poi campo2 altrimenti solo campo2.
    Sto provando una roba del genere ma non va...
    SELECT * FROM TABELLA ORDER BY (IF '2012-06-08'<=scadenza, (campo1, campo2), campo2)
    ma non riesco a farla funzionare neanche così:
    SELECT * FROM TABELLA ORDER BY (IF '2012-06-08'<=scadenza, campo1, campo2)
    cos'è che sbaglio?
    thanks

  2. #2

    Re: Mysql Order If

    Originariamente inviato da pigiakeys
    Buongiorno a tutti, chiedo aiuto perchè non ne salto fuori da una query.
    Avrei bisogno di impostare una condizione in un ordinamento, cioè se la data di oggi è minore uguale alla data di "scadenza" ordinare per campo1 e poi campo2 altrimenti solo campo2.
    Sto provando una roba del genere ma non va...
    SELECT * FROM TABELLA ORDER BY (IF '2012-06-08'<=scadenza, (campo1, campo2), campo2)
    ma non riesco a farla funzionare neanche così:
    SELECT * FROM TABELLA ORDER BY (IF '2012-06-08'<=scadenza, campo1, campo2)
    cos'è che sbaglio?
    thanks
    in order by sono permessi solo i nomi di campo e non le espressioni. E' un dato che viene passato al SORT

    potresti usare la if nella select e creare un campo fittizio che serva per l'ordinamento.

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

  3. #3
    Grazie mille per la risposta,
    nel frattempo avevo trovato questa alternativa che sembra funzionare, anche se solo con un criterio di ordinamento:
    SELECT * FROM tabella where ***
    ORDER BY CASE WHEN scadenza >= '2012-06-08' THEN campo1 ELSE campo2 END desc
    comunque ora provo a ragionare sul tuo suggerimento, vedo se riesco a metterlo in pratica, grazie ancora!!

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.