Ich brauche aus einer Tabelle auswählen Daten zu tun, basierend auf eine Art Priorität wie folgt:Können Sie wenn-dann-sonst Logik in SQL haben?
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
Das heißt, wenn ich 3 Produkte mit Preisen auf project = X
Basis gefunden, ich will nicht auf customer = Y
auswählen . Ich möchte nur die resultierenden 3 Zeilen zurückgeben und fertig sein.
Wie sollen Sie solche Dinge in SQL tun? Verwenden Sie eine Art von CASE-Anweisung für die Pseudo-if? Eine Gewerkschaft oder eine andere schlaue Sache?
Edit: Ich benutze MS SQL.
Danke!
Dies wird Ihnen helfen, testen http://stackoverflow.com/questions/5487892/sql-server-case-when-or-then-else-end-the-or-is-not- unterstützt – Meherzad
Welche RDBMS verwenden Sie, MS SQL Server, MySQL, PostgreSQL ...? Für jeden von ihnen sind die Steuerflussanweisungen unterschiedlich gesetzt. – Yaroslav
Sie haben Ihre Frage selbst beantwortet! Use-Case-Anweisungen! – Aditi