很难为我起一个主题名称。但我可以举个例子:
WHERE (SELECT [ID_Line] FROM [Event] WHERE [Event].[Name] = [A].[Col]) = 2
AND (SELECT [DataType] FROM [Event] WHERE [Event].[Name] = [A].[Col]) = 2
当我真的需要这样的东西时,我正在处理 2 个查询:
WHERE (SELECT [ID_Line],[DataType] FROM [Event] WHERE [Event].[Name] = [A].[Col]) = 2,2
但是 SQL 不适用于元组,所以我必须在这里进行 Inner Join 吗?
最佳答案
你可以试试这样的:
WHERE EXISTS (
SELECT [ID_Line] FROM [Event] WHERE
[Event].[Name] = [A].[Col] AND
[Event].[ID_Line] = 2 AND
[Event].[DataType] = 2
)
如果您提供有关完整查询和数据库结构的更多信息,则可以给出更准确的答案。这可能不是最佳解决方案。
关于sql - 如何优化同一张表中的几个 "WHERE (Select .... ) = value",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5990206/