事情就是这样:
我有三张桌子:
表1:
COL1 COL2
的表2:
COL2 COL3
的表3:
COL3 COL4
我希望Table3
时Table.COL3 = TABLE2.COL3
选择COL4,Table2.COL3
时Table2.COL2 = Table1.COL2
它喜欢两个连接表,但是当我使用以下查询时,它不起作用。
SELECT * FROM
table3
INNER JOIN table2 ON table3.col3
=
(
SELECT table2.col3
FROM table2
INNER JOIN table1 ON
table1.col2 = table2.col2
)
答案 0 :(得分:0)
您正在从table1中选择加入其他人。所以table1进入了。
SELECT TABLE3.col4
FROM TABLE1
JOIN TABLE2 ON TABLE2.COL2 = TABLE1.COL2
JOIN TABLE3 ON TABLE3.COL3= TABLE2.COL3
答案 1 :(得分:0)
在join语句的第一个表中。您使用了一个列名,即table3.col4而不是表名,即table3。所以,它给出了错误。
您的正确查询如下
SELECT table3.col4 FROM table3
INNER JOIN table2
ON table3.col3 =
( SELECT table2.col3
FROM table2
INNER JOIN table1 ON
table1.col2 = table2.col2)