2016-08-08 29 views
1

Code:Wo ist der Fehler in meiner SQL-Abfrage hinsichtlich des ungültigen Spaltennamens?

SELECT 
    [ADO NET Destination].Vendor_ID, 
    [ADO NET Destination].Vendor, 
    [ADO NET Destination].Address1, 
    [ADO NET Destination].Address2, 
    [ADO NET Destination].City, 
    [ADO NET Destination].Zip 
FROM 
    [ADO NET Destination] 
WHERE 
    ((([ADO NET Destination].Parish) IN ("Caddo", "Bossier", "DeSoto", "Webster"))); 

Fehler:

Msg 207, Ebene 16, Status 1, Zeile 3
Ungültiger Spaltenname 'Webster'.

Msg 207, Ebene 16, Status 1, Zeile 3
Ungültiger Spaltenname 'DeSoto'.

Msg 207, Ebene 16, Status 1, Zeile 3
Ungültiger Spaltenname 'Bossier'.

Msg 207, Ebene 16, Status 1, Zeile 3
Ungültiger Spaltenname 'Caddo'.

+0

Sie verwenden doppelte Anführungszeichen in Ihrem Vergleich mit 'Parish'. Zeichenfolgen verwenden einfache Anführungszeichen in SQL: 'Parish in ('Caddo', 'Bossier', 'Desoto', Webster ')' – Lamak

Antwort

6

Strings verwenden einfache Anführungszeichen in T-SQL:

'Caddo','Bossier','DeSoto','Webster' 
+2

Sie können auch doppelt verwenden. Wenn 'set quoted_identifier'" aus "ist. Aber das ist nicht zu empfehlen. –

3

, warum so viele() in wo und doppelten Anführungszeichen für wörtliche? versuchen

SELECT 
    [ADO NET Destination].Vendor_ID 
    , [ADO NET Destination].Vendor 
    , [ADO NET Destination].Address1 
    , [ADO NET Destination].Address2 
    , [ADO NET Destination].City 
    , [ADO NET Destination].Zip 
FROM [ADO NET Destination] 
WHERE [ADO NET Destination].Parish In ('Caddo','Bossier','DeSoto','Webster');