2010-02-24 147 views
1

我有两个发布新闻信息的网站。我刚刚收到请求,为其中一个网站制作单个页面,显示这两个网站的混合结果。它们位于同一台服务器上,表格几乎完全相同,但我在解决如何组合这两个查询时遇到了问题。帖子需要按照日期,标题进行排序,完成所有事情。如何在使用MySQL的单个查询中查询两个不同的数据库?

对于参数起见,表的简化形式是

DB 1,表Clips1(PK_ID,DateToShow,标题,说明)

DB 2,表Clips2(PK_ID,DateToShow,标题,描述)

所以单查询将命中两个数据库(用户名和密码是不同目前),或两个查询和某种组合将保持排序的日期和标题。

+0

一些更多的信息,该网站有不同的原因,一个是西班牙,一个是英语,我们希望他们是两个完全不同的网站(大部分内容是完全不同的),但该请求是张贴英语的东西以及向西班牙文版本添加更多内容。 如果我不能用一个简单的做结合,恐怕我将不得不修改英文网站的管理员发布数据库记录到这两个领域,这似乎乱了我。 – RiddlerDev 2010-02-24 04:34:23

+0

对不起!已经投了票,以为我也接受了 – RiddlerDev 2010-03-04 12:34:19

回答

1

IF可用于查询单个连接,实在是小巫见大巫。

你说的模式是在同一台服务器上,这样具有相应权限的这不应该是一个问题。

这种情况的一般语法是:

SELECT schemaA.table.column 
FROM schemaA.table 
UNION 
SELECT schemaB.table.column 
FROM schemaB.table 

你甚至可以执行连接,只记得指定适当的架构表和字段的参考。

+0

我完全控制了服务器,所以我认为它就像创建连接到两个数据库的联合用户名/密码一样简单使用? – RiddlerDev 2010-02-24 04:38:38

+1

你可以这样做,或者直接给现有用户权限给其他数据库。例如'GRANT ALL ON \'spanish_db \'。* TO '某' IDENTIFIED BY“english_pass'' – hobodave 2010-02-24 04:40:45

+0

亲爱hobodave ..我只是edting我的answere,当我编辑我的答案后回来..ü给我 'english_user' @一个负面的观点.. – 2010-02-24 04:41:45

相关问题