2015-11-04 53 views
0

我在我的树莓派使用SQLITE3,我有两个表(视图),他们两个的模式如下:我可以通过引用另一个表中的列来设置我的列名称吗?

CREATE VIEW [PivotTemps1hr] AS 
SELECT timeslot,strftime('%Y-%m-%d.%H:%M:%S',timeslot,'localtime'), 
AVG(CASE WHEN sensor_id = '28-000005e31c72' THEN value END) AS Server_Cab, 
AVG(CASE WHEN sensor_id = '28-000005ea2eea' THEN value END) AS Study, 
AVG(CASE WHEN sensor_id = '28-000005eb3986' THEN value END) AS Master_Bed, 
FROM TempsSlot1hr JOIN sensors USING (sensor_id, sensor_id) 
GROUP BY timeslot; 

CREATE TABLE sensors (sensor_id text,sensor_name text); 

见上文如何在我的PivotTemps1hr表我已经硬编码字段名称,例:Server_Cab研究

我想知道我能以某种方式使这个充满活力的阅读领域称为传感器名称传感器表(连接两个表之间已经存在)?这样,如果我将传感器从一个房间移动到另一个房间,我只需更新传感器表,一切都自动更新。

回答

0

SQLite是一个嵌入式数据库,设计用于从“真正的”编程语言中使用。 因此,它没有创建动态SQL命令的机制。

您必须从外部重新创建视图SQLite。

+0

你能推荐一个'lite'数据库软件,我可以在我的Raspberry Pi设备上使用吗? – Benno

+0

像MySQL这样的数据库能够在我最初的问题中做我想做的事情吗?我正在考虑在MySQL中重新创建我的表。 – Benno

相关问题