IF Bedingung in einer SQL-Abfrage

8

Ich bin ein Neuling für SQL Server. Bitte helfen Sie mir, die folgende Logik in eine Abfrage zu schreiben.

%Vor%     
user1345260 19.04.2012, 22:52
quelle

8 Antworten

6
%Vor%     
RobIII 19.04.2012, 23:02
quelle
3
%Vor%     
Taryn 19.04.2012 23:01
quelle
1

Ich kenne den genauen MS-Syntax-Dialekt nicht, aber ich werde versuchen zu beweisen, dass Sie kein IF- oder CASE-Konstrukt brauchen. Ich habe die Antwort von @mellamokb als Beispiel genommen.

%Vor%     
wildplasser 19.04.2012 23:49
quelle
1

Die Idee hier ist, die Implikation Rewrite-Regel zu verwenden:

%Vor%

In Ihrem Fall

%Vor%

entspricht

%Vor%

und ist selbst äquivalent zu

%Vor%

Erneutes Schreiben der ursprünglichen ELSE -Klausel als eigenständige IF..THEN -Anweisung:

%Vor%

entspricht (diesmal ohne den Zwischenschritt)

%Vor%

Die beiden Ausdrücke können dann in konjunktivaler Normalform geschrieben werden ("eine Folge von AND s)"

%Vor%     
onedaywhen 20.04.2012 08:55
quelle
1

wähle a.name, wenn (a.is_active = 't', 'Aktiv', 'Inaktiv') von meiner Tabelle a

    
user1884500 22.10.2013 06:06
quelle
0

Sie benötigen eine gespeicherte Prozedur, um dies in SQL zu tun. Sehen Sie sich die Dokumentation hier Ссылка

an     
Caumons 19.04.2012 22:58
quelle
0
%Vor%

Das ist MS SQL. Wenn Sie mehr als nur einen Befehl ausführen möchten, wählen Sie innerhalb des Befehls BEGIN .... END.

    
YvesR 19.04.2012 23:00
quelle
0
%Vor%

Es muss nicht in einer gespeicherten Prozedur sein.

    
AttilaD 19.04.2012 23:05
quelle

Tags und Links