[英]select data from table1 but need table2 as condition in mysql
我想要做:
select column1
from db1.table1
where db1.table1.column2 = db2.table2.column1.
在這種情況下,錯誤消息是:
未知列:db2.table2.column1
我對數據庫1和2的設置是正確的,只是在這種情況下不知道如何編寫查詢。
select t1.column1
from db1.table1 t1
join db2.table2 t2 on t1.column2 = t2.column1
您會注意到,該查詢join table on condition
語法join table on condition
使用了更現代,更可取的join table on condition
您需要在FROM
子句中列出db2.table2
。 假設您需要db.table1
column1
:
select t1.column1
from db1.table1 t1, db2.table2 t2
where t1.column2 = t2.column1
否則,您將無法在WHERE
子句中使用它們。
如果您更喜歡join ... on
語法join ... on
使用join ... on
(稱為顯式連接),請檢查Bohemian的答案。
有關選擇哪種語法的討論,請參見顯式與隱式SQL連接
select column1
from db1.table1, db2.table2
where db1.table1.column2 = db2.table2.column1
嘗試這個:
SELECT
db1.col1,
db2.col2
FROM
db1.tb1
LEFT JOIN
db2.tb2 ON db2.tb2.col1 = db1.tb1.col2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.