我有一个临时表,并且想检查一个 where 子句是否某个 id/字符串包含在临时表中。
Select...
WHERE MyId IN MyTempTable
我在 MS SQL 管理工作室中遇到一般错误。
“In”运算符不适合临时表吗?
我有一个临时表,并且想检查一个 where 子句是否某个 id/字符串包含在临时表中。
Select...
WHERE MyId IN MyTempTable
我在 MS SQL 管理工作室中遇到一般错误。
“In”运算符不适合临时表吗?
您的语法错误:
SELECT ...
FROM MyTable
WHERE MyID IN (SELECT MyID
FROM MyTempTable)
我不太喜欢 IN 运算符,所以我更喜欢这个:
SELECT ...
FROM MyTable
WHERE EXISTS (SELECT *
FROM MyTempTable
WHERE MyTable.MyID = MyID)
但这主要是口味问题。
您的语法略有错误。你需要做:
SELECT ...
FROM ...
WHERE MyId IN (SELECT MyId
FROM MyTempTable);
in
需要一个特定项目的列表。表一般有多个字段,怎么知道你指的是哪个字段?
您可以使用子查询,where field in (select whatever from #temp)