1

我对这样做还是很陌生,所以我不完全确定这是可能的。

我有两个数据库,我想从两个数据库中运行一个查询——定位在哪里

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;

这可能吗?还是只能对同一数据库中的表执行连接?

4

2 回答 2

2

任何 MySQL 查询只能在同一个数据库上运行,您必须从不同的连接执行两个查询,然后合并数据。

于 2012-09-10T14:32:14.000 回答
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
于 2012-09-10T14:35:05.230 回答