mysql - 在不同数据库但同一个表中执行相同sql的简单方法

标签 mysql sql sql-server

我有八个数据库:order0,order2...order7,
他们都有表“订单”。
现在,我想要在所有八个数据库中执行像“select * from orders where order_id = 652454122”这样的sql。
我需要写这样的sql:

use order0
select * from orders where order_id = 652454122
use order1
select * from orders where order_id = 652454122
...
use order7
select * from orders where order_id = 652454122

需要复制七遍,太糟糕了!
有没有一些简单的方法,例如:

use order0/order1/order2... 
select * from orders where order_id = 652454122

最佳答案

创建联合所有 8 个表的 View ,例如:

CREATE VIEW vw_orders
AS
   SELECT *, 0 as DB FROM Order0..Orders
   UNION ALL
   SELECT *, 1 as DB FROM Order1..Orders
   UNION ALL
   ...
   SELECT *, 7 as DB FROM Order7..Orders

然后从中选择:

SELECT * FROM vw_orders WHERE order_id = 652454122

关于mysql - 在不同数据库但同一个表中执行相同sql的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19243861/

相关文章:

mysql - 身份验证/授权 Entity Framework

c# - 只打印数据库第一行的数据而不是整个表

c# - 将同一列中的不同值相互附加

sql-server - 优化性能不佳的查询需要采取哪些步骤?

php - 联合查询后如何更新?

java - 字符编码 JDBC MySQL

php - 如何从 ssh 和/最终 cron 运行 wordpress php snippet mysql update 命令

sql - MySQL:子查询中的总和值

sql-server - 如何减少 10 多个 union select 语句

sql-server - 为什么聚集索引会在更新未包含在该索引中的字段时更新(Ms SQL)?