我想这样做:
select column1
from db1.table1
where db1.table1.column2 = db2.table2.column1.
在这种情况下,错误消息为:
未知列:db2.table2.column1
我对数据库1和2的设置是正确的,在这种情况下,我们不知道如何编写查询。
答案 0 :(得分:2)
select t1.column1
from db1.table1 t1
join db2.table2 t2 on t1.column2 = t2.column1
您会注意到此查询使用了更现代,更可取的join table on condition
语法
答案 1 :(得分:1)
您需要在db2.table2
子句中列出FROM
。假设您希望来自column1
的{{1}}:
db.table1
否则您无法在select t1.column1
from db1.table1 t1, db2.table2 t2
where t1.column2 = t2.column1
子句中使用它们。
如果您更喜欢使用WHERE
语法(称为显式连接),请检查Bohemian的答案。
有关选择哪种语法的讨论,请参阅Explicit vs implicit SQL joins
答案 2 :(得分:0)
select column1
from db1.table1, db2.table2
where db1.table1.column2 = db2.table2.column1
答案 3 :(得分:0)
试试这个:
SELECT
db1.col1,
db2.col2
FROM
db1.tb1
LEFT JOIN
db2.tb2 ON db2.tb2.col1 = db1.tb1.col2