2009-07-18 7 views
1
SELECT * 
INTO Temp3 

from 

(SELECT B.Name 
FROM [Temp2] as B 
WHERE B.Name 
Not IN (
SELECT E.WorkerName 
FROM WorkerDetail as E)) 

Warum führt dies zu einem Fehler?Syntaxfehler in SQL

+0

vollständige Sätze und gut Formating immer Hilfe :) –

+0

, welche Art von Fehlern? –

+0

Sie müssen auch alle Tabellenerstellungsskripte posten. –

Antwort

1

Vielleicht Temp3 bereits existiert? In MSSQL SELECT .. INTO verwendet, um neue Tabelle mit Daten zu füllen. Wenn diese Tabelle vorhanden ist, können Sie die Anweisung INSERT INTO .. ​​SELECT FROM verwenden.

2

Wenn Sie Sie eine abgeleitete Tabelle verwenden möchten, müssen es alias:

SELECT T1.* 
INTO Temp3 

from 

(SELECT B.Name 
FROM [Temp2] as B 
WHERE B.Name 
Not IN (
SELECT E.WorkerName 
FROM WorkerDetail as E)) AS T1 

Ich bin nicht sicher, ob Sie tatsächlich eine abgeleitete Tabelle verwenden müssen, aber.

Dies soll auch arbeiten:

SELECT B.Name 
INTO Temp3 
FROM [Temp2] as B 
WHERE B.Name 
Not IN (
SELECT E.WorkerName 
FROM WorkerDetail as E)