WHERE CASE WHEN-Anweisung mit Exists

9

Ich erstelle eine SQL-Abfrage mit WHERE CASE WHEN Anweisung. Ich mache etwas falsch und bekomme Fehler.

Meine SQL-Anweisung ist wie

%Vor%

Ich erhalte einen Fehler als

  

Msg 512, Ebene 16, Status 1, Zeile 11
  Unterabfrage hat mehr als 1 Wert zurückgegeben. Dies ist bei der Unterabfrage nicht erlaubt   follows =,! =, & lt ;, & lt; =, & gt ;, & gt; = oder wenn die Unterabfrage als verwendet wird   Ausdruck.

Bitte helfen Sie, die Abfrage erfolgreich auszuführen. Meine Logik besteht darin, für jede Zeile auf bedingte AreaId in (Anweisung) zu prüfen.

Ich möchte die Zeile nur auswählen, wenn

  1. Unternehmen hat einen Abonnementeintrag in AreaSubscription für einen bestimmten Bereich, der von @AreaId
  2. übergeben wurde
  3. Tabelle AreaSubscription hat keinen Abonnementeintrag und bewertet AreaId in (SELECT [@Areas].AreaId FROM @Areas)
Haresh Ambaliya 07.08.2013, 09:21
quelle

4 Antworten

15

Dies kann Ihnen helfen.

%Vor%

Eine weitere Lösung ist

%Vor%     
Nithesh 07.08.2013, 09:35
quelle
0

Versuchen Sie SELECT oben 1 [@Areas] .AreaId FROM @Areas, wenn es das Problem löst ..

    
Sunil Tandon 07.08.2013 09:30
quelle
0

probiere das aus;

%Vor%     
Kosala W 07.08.2013 09:38
quelle
0

Versuchen Sie es

%Vor%     
bvr 07.08.2013 09:32
quelle

Tags und Links