将每个表的结果显示为行

时间:2019-05-30 01:12:23

标签: mysql

我目前正在建立一个显示数据的原型网站。正在使用cronjob将数据输入到1个数据库中。 cronjob将随机数据提交到1个数据库中的3个表中。在大多数情况下,我已经弄清楚了我想使用的大多数查询(see website)。还有一个查询我似乎无法解决。所以每个表都是自己的位置,到目前为止,我已经能够创建每小时,每周,每月等的总计...

我的问题是,我想生成一个比较页面以比较位置之间的资源使用情况。因此,我希望资源不在查询中的表中的列中,而要在列中包含该位置的总数。

当前

May 29, 2019 6:00pm | Water Total | Electric Total | N. Gas Total | Solar Total

我想要的

May 29, 2019 6:00pm | Location 1 | Location 2 | Location 3

上面的示例(我想要的)仅显示一种资源,例如WATER TOTAL。

这是我的数据库结构的屏幕截图。 enter image description here

无论我是不是数据库管理员或专家,都将非常感谢您的帮助。一旦看到完成,我就可以确定地操作它,并使其完全按照我在不同时间范围内的需要进行操作。

1 个答案:

答案 0 :(得分:1)

加入3个表:

SELECT t1.timestamp, t1.water as location1, t2.water as location2, t3.water AS location3
FROM wpdatable_23_1 AS t1
JOIN wpdatable_23_1_1 AS t2 ON t1.timestamp = t2.timestamp
JOIN wpdatable_23_1_2 AS t3 ON t1.timestamp = t3.timestamp

确保此列上有索引:

ALTER TABLE wpdatable_23_1 ADD UNIQUE INDEX (timestamp);
ALTER TABLE wpdatable_23_1_1 ADD UNIQUE INDEX (timestamp);
ALTER TABLE wpdatable_23_1_2 ADD UNIQUE INDEX (timestamp);