【发布时间】:2018-03-27 19:07:45
【问题描述】:
我需要帮助来创建一个 SQL 查询,以便对所有表 LIKE table_% 中的特定列的值求和,因为表会随着时间的推移而增长,这必须满足基于以下格式的新表名
方案名称: database_01
表名: tb_data_'YEAR'_'MONTH'
- YEAR 和 MONTH 都是从 2011 年到 2018 年的所有 12 个月和年份的值。
每个表都包含一个名为 TOTAL_VALUE 的列。我有一个触发 SQL 查询以从数据库中提取数据的 php 脚本。
我想对每个表 TOTAL_VALUE 列的总数求和,并保存下面我的脚本的值以推送数组。
$sql = "SELECT TOTAL_VALUES FROM tb_data_2017_october";
$result = mysqli_query($conn, $sql);
$data = array(); while($enr = mysqli_fetch_assoc($result)){
$a = array($enr['TOTAL_VALUES']);
foreach ($a as $as){
echo "'".$as."', ";}
array_push($data, $as); }
我一直在尝试使用以下选项更改 SQL:
SELECT id FROM table1
UNION
SELECT id FROM table2
UNION
SELECT id FROM table3
UNION
SELECT id FROM table4
但是我需要满足检查所有类似于 tb_data_% 的表的能力
【问题讨论】:
-
这是一个糟糕的数据库设计。如果可以,请重新考虑。
-
同意你的观点,但目前数据是这样的。必须迁移到具有指定数据的列的单个数据库。但是,我将不胜感激有关当前可能的解决方案的任何反馈。不过感谢您的回复。
-
然后从
schema中选择所有您需要的名称并创建一个大联合查询。 -
你使用的是什么数据库服务器?
-
提示:使用循环