我有 3 张桌子。表 1 和 2 共享第 1 列和第 2 列。所有 3 个表共享第 2 列(一个 ID 列),但只有表 3 包含第 3 列。我希望表 1,2 对第 1 列和第 2 列具有相同值的所有行,但只有其中 table3.Col3(加入 ID 列 2)等于某个特定值“X”。
我有两个查询似乎是相同的,并且正在为我想要的而工作,但我要求专家确保它们是可互换的:
SELECT *
from Table1 INNER JOIN Table2
ON Table1.Col1 = Table2.Col1 and Table1.Col2 = Table2.Col2
WHERE (Select Col3 from Table3 where Table2.Col2 = Table3.Col2) = "X"
SELECT *
from Table1 INNER JOIN Table2
ON Table1.Col1 = Table2.Col1 and Table1.Col2 = Table2.Col2
INNER JOIN Table3
ON Table1.Col2 = Table3.Col2
WHERE Table3.Col3 = "X"