0

假设我有 50 个数据库,它们都有相同的模式并且都有表“plays”。

有没有可能一次从所有数据库中选择表“plays”中的所有数据?

如果我不知道我有多少个数据库,有什么办法可以做到这一点?

目前我会这样做:

(SELECT * FROM db1.plays WHERE condition)
UNION
(SELECT * FROM db2.plays WHERE condition)
UNION...
(SELECT * FROM db50.plays WHERE condition) 

有没有办法为此编写更少的代码?

问候

4

1 回答 1

0

我不确定,但要缩短您的代码,您可以这样做

Select * FROM db1.plays, db2.plays, ...., db3.plays WHERE <condition>

想到的另一件事是使用表 INFORMATION_SCHEMA。也许别人有更好的主意。

于 2011-03-01T13:26:05.013 回答