查询具有相同结构的多个表

时间:2014-11-26 02:42:33

标签: php mysql sql

我有一些构建了相同结构的表,并希望使用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?和?

1 个答案:

答案 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中,这不是特别有效,因为仍然需要读取所有表。但是,对于较小的表格,这可能是一个合理的解决方案。

您应该问问自己为什么数据库中有相同结构的表。通常,这些应该组合成一个表。为了提高性能,您可以对表进行分区。