0
次のような結果を得るために、Postgresでクエリを作成しようとしています。考え方は、dateMにvariableNという名前の変数の値を含むテーブルを作成することです。センサー名で順序付けられた日付 - 値ペアを含む完全なリストを作成する代わりに、出力はテーブル形式になります。このようにしてポストグルのクロスタブ
logtime variable1 variable2 variable3
------------------------------------------------------
date1 value11 value12 value13
date2 value21 value22 value23
、私は私のために、この機能を使用すると、私はそれについての知識を持っていない初めてです、機能のクロス集計を使用しますが、しています。私はいくつかのやり方を試みましたが、誰も働きません。私はどんな助けでも非常に感謝しています。
select * from crosstab(
'SELECT sensorhistdatalog.valuedate as logtime, sensorhistdatalog.value as logvalue, sensor.name FROM public.sensor
INNER JOIN public.sensorhistdatalog
ON sensor.id = sensorhistdatalog.sensor_id
where sensorhistdatalog.valuedate between ''2017-03-06'' and ''2017-03-07''
and sensor.name in (''LHTES_ON','C_VELOCIDAD_V3_MAN','C_VELOCIDAD_V4_MAN','VELOCIDAD_V3','VELOCIDAD_V4','LHTES MODE','TEMP_COMF_W','TEMP_COMF_S',
'TO_EXT','TO_INT','TI_EXT','TI_INT','TEMP_PLATE_1','TEMP_PLATE_2','TEMP_PLATE_3','TEMP_PLATE_4','DUMPER_1','DUMPER_2','REF_V3','REF_V4'')
order by name, valuedate asc')
as (
logtime text,
logvalue text,
name text);
交差テーブルはsensorhistdatalogとsensorhistdatalogは複数の列を有するセンサであるが、我々は、主にsensor_id(つまり、テーブルセンサのIDから外部キーである)、日付及び値を、使用します。センサーテーブルは、基本的にID、名前、および説明を持つセンサーのリストです。
エラーは次のとおりです。
ERROR: no existing function crosstab(unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown, unknown)
何かがあなたの関数と間違っているエラーを呼び出すPostgresが、それはなっていると思うものを表します。あなたは代わりに引数として与えるためにビューや関数を作成しようとするかもしれません – Filip
私の推測では、何か間違っていることになるでしょう、そして、 – Filip