我有一些构建了相同结构的表,并希望使用PHP MYSQL一次查询它们。 我面临的挑战是查询x表,我不知道有多少表。 (假设用户将在UI透视图中选择表)。这样做的原因是将它们输出为csv格式。
例如: -
Date, xTable, yTable, zTable, ....
==============================b
bla 1 2 3
bla 4 3 5
...
...
如何修改以下查询以满足上述需求? (查询需要足够灵活以查询多表)。
SELECT created_dt, xTable FROM needToQueryMultiTable WHERE created_dt BETWEEN?和?
答案 0 :(得分:1)
您可以创建所有可能表格的视图:
create v_tables as
select 'table1' as which, t.*
from table1 t
union all
select 'table2' as which, t.*
from table2 t
. . .;
然后,您可以从视图中进行选择。
在MySQL中,这不是特别有效,因为仍然需要读取所有表。但是,对于较小的表格,这可能是一个合理的解决方案。
您应该问问自己为什么数据库中有相同结构的表。通常,这些应该组合成一个表。为了提高性能,您可以对表进行分区。