如何从MySQL动态表中获取数据

时间:2018-06-22 08:05:39

标签: mysql

我将从带有JSON数据的IOT接收数据。每个物联网可以发送具有不同结构的不同数据。

我创建了一个MYSQL脚本以将数据导入数据库中。

我的表data_root就像一个索引,它引用要获取内容的不同表。

我不知道表中的列是“继电器”还是“推进器”。 在我的表data_root中,我插入了“ table_name”以了解我要询问的表。

我要查询的表在对数据表的引用中有一个id_data。

Mysql模式: enter image description here

我想创建Mysql Query来从推进器获取数据,例如中继器,但不知道它们的列。

我的SQL查询:

SELECT data.id_data , data.timestamp, data_root.table_name, data_root.table_name_id
FROM data, data_root, thrusters
WHERE data.id_data = data_root.id_data
AND data.id_data = thrusters.id_data
AND data.code_transmetteur = 1
GROUP BY thrusters.id

我可以使用哪种方法从推进器获取数据或通过模式进行中继。

感谢您的帮助,

1 个答案:

答案 0 :(得分:0)

使用MySQL 8.0.11或更高版本,则有一些选择:

  • 创建包含JSON的列,并在获取时保存它们
  • 使用JSON_TABLE()对JSON字符串进行查询
  • 使用任何JSON_SEARCH()函数来检查您收到的内容并提取数据

在您的情况下,听起来您应该使用JSON_SEARCH检查要获取的对象类型,然后使用JSON_TABLE正确导入它。