首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL中的JOIN 5数据库

MYSQL中的JOIN 5数据库
EN

Stack Overflow用户
提问于 2013-03-30 02:38:51
回答 1查看 26关注 0票数 0

我有5个数据库,假设它们的名称是A B C D E

所有数据库都具有相同的表/结构/字段

我想使用表SMSOutgoing从5个数据库中获取结果,字段为uid

它看起来像这样:

代码语言:javascript
复制
SELECT * OR JOIN 5 database A B C D E F
FROM `table` SMSOutgoing
WHERE uid = 1

并不是所有的数据库都有uid=1,它需要显示哪个数据库有结果

我运行短信网关,每个电话/1号码使用一个数据库,这就是为什么有这么多不同的数据库。

我花了几个小时来解决它,但总是出错,我想我遵循了错误的指南(在一个数据库中连接多个表)

我迷路了,请帮帮忙谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-30 02:42:22

听起来您想要列出在SMSOutgoing表中包含uid =1的数据库。如果是这样,您应该能够使用UNION

代码语言:javascript
复制
SELECT DISTINCT 'DatabaseA' WhichDb
FROM DatabaseA.SMSOutgoing 
WHERE uid = 1
UNION
SELECT DISTINCT 'DatabaseB' WhichDb
FROM DatabaseB.SMSOutgoing 
WHERE uid = 1
UNION
...
UNION
SELECT DISTINCT 'DatabaseF' WhichDb
FROM DatabaseF.SMSOutgoing 
WHERE uid = 1

我使用了DISTINCT,以防您在同一个表中有多个uid --这可能是不必要的。

编辑:从你的评论来看,听起来你只是想要结果:

代码语言:javascript
复制
SELECT *
FROM DatabaseA.SMSOutgoing 
WHERE uid = 1
UNION
SELECT *
FROM DatabaseB.SMSOutgoing 
WHERE uid = 1
UNION
...
UNION
SELECT *
FROM DatabaseF.SMSOutgoing 
WHERE uid = 1

如果您可能有重复项,则可能需要使用UNION ALL ...

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15709396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档