2015-11-04 54 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

相關問題