查询MySQL - 一个表视图倍数记录

时间:2016-06-16 21:56:50

标签: mysql sql

我有一个包含这个内容的表:

表1 :MySQL表格内容(表格:'传感器')

        Date         |    Topic    |  Value
-------------------------------------------
2016/06/15 13:22:11  |  pressure   |  10.52
2016/06/15 13:22:11  | temperature |  55.25
2016/06/15 13:23:42  | temperature |  40.12
2016/06/15 13:25:10  |  pressure   |   8.10
2016/06/15 13:25:13  | temperature |  47.24
2016/06/15 13:27:30  |  pressure   |  11.47
2016/06/15 13:27:30  | temperature |  52.27

我想做一个选择来回顾这个观点:

表2 :来自表格'传感器'

的查询结果
        Date         |  pressure   |  temperature
-------------------------------------------------
2016/06/15 13:22:11  |    10.52    |    55.25
2016/06/15 13:23:42  |             |    40.12
2016/06/15 13:25:10  |     8.10    |
2016/06/15 13:25:13  |             |    47.24
2016/06/15 13:27:30  |    11.57    |    52.27

我希望从传感器中选择DISTINCT日期'表然后用主题中的值填充(如果当时不存在,则该值将为空)

PS。表'传感器'有多个主题,但我只需要压力'和温度'用于构建图表的值。

由于

2 个答案:

答案 0 :(得分:0)

我认为应该有效

posts

答案 1 :(得分:-2)

关于交叉连接所需的所有扩展&你可以在这里找到与innerjoins的区别希望这可以帮助你。你需要进行交叉连接

CROSS JOIN vs INNER JOIN in SQL Server 2008

你应该试试。我知道这是一个内连接但它应该可以正常工作。

SELECT DISTINCT s1.Date, s1.Value, s2.Value
FROM Sensor s1
    INNER JOIN Sensor s2
    ON s1.Date= s2.Date
ORDER BY s1.Date