2012-09-10 37 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 –