2012-09-10 33 views
1

我對這樣做還很新,所以我不完全確定這是可能的。MySQL查詢與內部聯合合併

我有兩個數據庫,我想運行一個查詢從磁盤後定位在那裏

database1.table1.firstname + database1.table1.lastname = database2.table2.name 

這可能拉動?

我想我可以做類似

SELECT 
    COALESCE(firstname + ' ' + lastname, firstname, lastname) Name 
FROM database1.table1 
INNER JOIN database1.table1, database2.table2 
WHERE 
    Name = table2.name; 

這可能嗎?或者只能在相同數據庫中的表上執行連接?

+0

你是什麼意思的「兩個數據庫」?你是在談論單個MySQL實例中的兩個模式還是兩個單獨的MySQL實例? –

回答

2

任何MySQL查詢只能在同一個數據庫上運行,您必須從不同的連接執行兩個查詢,然後合併數據。

0

您的連接語法不正確。我認爲你的意思是這樣的:

SELECT COALESCE(firstname + ' ' + lastname, firstname, lastname) Name 
FROM database1.table1 t1 inner join 
    database2.table2 t2 
    on COALESCE(t1.firstname + ' ' + t1.lastname, t1.firstname, t1.lastname) = t2.name 
+0

哦!這很有幫助。謝謝@ gordon-linoff –