ho bisogno di fare selezionare i dati da una tabella basata su un qualche tipo di priorità in questo modo:Puoi avere una logica if-then-else in SQL?
select product, price from table1 where project = 1
-- pseudo: if no price found, do this:
select product, price from table1 where customer = 2
-- pseudo: if still no price found, do this:
select product, price from table1 where company = 3
Cioè, se ho trovato 3 prodotti con prezzi basati sul project = X
, non voglio per selezionare il customer = Y
. Voglio solo restituire le 3 righe risultanti e finire.
Come si dovrebbe fare cose come questa in SQL? Usa qualche tipo di dichiarazione CASE per la pseudo-if? Fai un sindacato o qualche altra cosa intelligente?
Modifica: sto usando MS SQL.
Grazie!
Questo vi aiuterà a http://stackoverflow.com/questions/5487892/sql-server-case-when-or-then-else-end-the-or-is-not- supportato – Meherzad
Quale tipo di RDBMS stai usando, MS SQL Server, MySQL, PostgreSQL ...? Per ognuno di essi il set di istruzioni del flusso di controllo è leggermente diverso. – Yaroslav
Hai risposto alla tua domanda! Utilizzare le dichiarazioni del caso! – Aditi