2009-07-18 5 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)) 

Pourquoi cela génère-t-il une erreur?Erreur de syntaxe dans SQL

+0

phrases complètes et de bonne Formating toujours aider :) –

+0

quel type d'erreur? –

+0

Vous devrez également publier tous les scripts de création de table. –

Répondre

1

Peut-être que Temp3 existe déjà? Dans MSSQL SELECT..INTO utilisé pour remplir une nouvelle table avec des données. Si cette table existe, vous pouvez utiliser l'instruction INSERT INTO .. ​​SELECT FROM.

2

Si vous souhaitez utiliser une table dérivée dont vous avez besoin pour un alias il:

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 

Je ne sais pas si vous avez réellement besoin d'utiliser une table dérivée, cependant.

Cela devrait aussi fonctionner:

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