表2的條件我想做的事:選擇數據,但需要在MySQL
select column1
from db1.table1
where db1.table1.column2 = db2.table2.column1.
在這種情況下,該錯誤信息是:
未知列:db2.table2.column1
我對數據庫1和2的設置是正確的,只是不知道如何編寫查詢在這種情況下。
表2的條件我想做的事:選擇數據,但需要在MySQL
select column1
from db1.table1
where db1.table1.column2 = db2.table2.column1.
在這種情況下,該錯誤信息是:
未知列:db2.table2.column1
我對數據庫1和2的設置是正確的,只是不知道如何編寫查詢在這種情況下。
您需要在FROM
條款中列出db2.table2
。假設你想從column1
db.table1
:
select t1.column1
from db1.table1 t1, db2.table2 t2
where t1.column2 = t2.column1
,否則你不能在WHERE
子句中使用它們。
如果您更喜歡使用join ... on
語法(稱爲顯式連接),然後檢查波希米亞的答案。
相關討論哪些語法挑,看Explicit vs implicit SQL joins
如果您在table1和table2中具有相同的列,則可以使用table1.column1 – Moonlight
true,並添加別名來修復它並使其更具可讀性。 –
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
只是爲了確保兩張表都在不同的數據庫中? – Vinay
在你選擇的部分添加table2,你需要在調整它們之前選擇表格。也似乎你使用2數據庫? – Moonlight
你打算接受這些答案嗎?或者他們都不爲你工作? – 2012-01-25 13:02:32