Eli*_*eth 16 sql-server temp-tables where in-operator
我有一个临时表,想要检查一个where子句,在临时表中包含某个id/string.
Select...
WHERE MyId IN MyTempTable
Run Code Online (Sandbox Code Playgroud)
我在MS SQL Management Studio中遇到一般错误.
是"In"运算符不适合临时表?
Mar*_*tos 25
你的语法错了:
SELECT ...
FROM MyTable
WHERE MyID IN (SELECT MyID
FROM MyTempTable)
Run Code Online (Sandbox Code Playgroud)
我不太喜欢IN运算符,所以我更喜欢这个:
SELECT ...
FROM MyTable
WHERE EXISTS (SELECT *
FROM MyTempTable
WHERE MyTable.MyID = MyID)
Run Code Online (Sandbox Code Playgroud)
但这主要是品味问题.
你的语法有点错误。你需要做:
SELECT ...
FROM ...
WHERE MyId IN (SELECT MyId
FROM MyTempTable);
Run Code Online (Sandbox Code Playgroud)