在多个数据库上运行单个查询

时间:2010-10-15 05:29:58

标签: mysql

1)我有一个表雇员(emp_id,emp_name,emp_salary); 我想找到前2名员工的最高工资而不使用限额

2)如何运行查询以便从两个数据库mysql服务器上的数据库中获取记录 这应该在单个mysql查询中完成

提前感谢任何帮助或回复

2 个答案:

答案 0 :(得分:1)

单个查询无法同时与两个数据库服务器通信。这是不允许的。但您可以使用FEDERATED表链接两台服务器。这使得“远程”表看起来好像它确实存储在本地。

然而,你仍然不得不使用联合查询,除非这两个表可以以某种方式加入。

SELECT blah,blah,blah
FROM localtable

UNION

SELECT blah,blah,blah
FROM federatedtable

答案 1 :(得分:0)

LIMIT究竟出了什么问题?

select * 
  from (select * 
          from db1.employee
         order by salary desc limit 2 
        union 
        select * 
          from db2.employee
         order by salary desc limit 2
) emp
order by emp.salary desc limit 2

如果bd1和db2中的员工肯定不同,或者您不想删除重复更改为UNION ALL