0
我試圖將包含許多列(未知數)的錶轉換爲具有四列的表。使用postgresql Unpivot
我的查詢看起來是這樣的:
INSERT INTO measurement (timestamp, sensor, value)
SELECT d."Timestamp",
(SELECT s.id FROM sensor s WHERE s.name = columns.column_name),
(SELECT columns.column_name from sensor_list where "Timestamp" = d."Timestamp")
FROM sensor_list d,
(SELECT column_name FROM information_schema.columns WHERE table_name = 'sensor_list' AND column_name <> 'Timestamp' ORDER BY ordinal_position) columns
這行不通。該ERRORMESSAGE我收到的是:
"ERROR: >>value<< has type numeric, but the expression is of type information_schema.sql_identifier"
是否有機會得到它通過轉換"columns.column_name"
字符串或別的東西,像quote_ident()
工作?
我所有的嘗試都沒有奏效。 非常感謝。
我想我想使用column_name。 由於sensor_list如下所示: 時間戳|傳感器1 | Sensor2 |傳感器3 | ... |傳感器999 | ------------------------------------------------- ------------ 時間|值|值| ... –