簡體   English   中英

從表1中選擇數據,但需要表2作為MySQL中的條件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM