1
私のスクリプトは、スクリプトを実行すると、val1、val2、val3、bla..bla blaのような値を持つ単一列に戻ります...PostgreSQL関数()を使用して区切られた列で返す方法
CREATE OR REPLACE FUNCTION meter_latest_read_custom()
RETURNS TABLE(
maxdate timestamp without time zone,
ertu integer,
meter integer,
meter_name character varying,
acq_9010 numeric)
AS
$BODY$
DECLARE
formal_table text;
BEGIN
FOR formal_table IN
SELECT
quote_ident(table_name)
FROM
information_schema.tables
WHERE
table_schema = 'public' AND
table_name LIKE 'task%_1'
LOOP
RETURN QUERY EXECUTE
'with groupedft as (
SELECT meter_id, MAX(acq_date) AS MaxDateTime
FROM ' ||formal_table|| ' GROUP BY meter_id),
foo as (
SELECT
ft.acq_date AS maxdate,
ft.ertu_id AS ertu,
ft.meter_id AS meter,
ft.acq_9010 AS acq_9010
FROM
'||formal_table|| ' ft
INNER JOIN groupedft
ON
ft.meter_id = groupedft.meter_id
AND ft.acq_date = groupedft.MaxDateTime)
SELECT
maxdate, ertu, meter, m.meter_name, acq_9010
FROM
foo
LEFT JOIN
meter_record m
ON
foo.meter=m.meter_id
AND foo.ertu=m.ertu_id';
END LOOP;
END
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100
ROWS 1000;
ALTER FUNCTION meter_latest_read_custom() OWNER TO postgres;
結果は、単一の列に復帰
"("2017-02-16 10:45:00",201,6,"SPARE 6",)"
"("2017-02-16 10:45:00",201,14,"SPARE 14",)"
"("2017-02-16 10:45:00",201,8,"SPARE 8",)"
"("2017-02-16 10:45:00",201,12,"SPARE 12",)"
"("2017-02-16 10:45:00",201,1,"E.CO-PUAS KAJANG/AC PANEL ETS",16986.00000)"
"("2017-02-16 10:45:00",201,2,"SPARE 2",)"
"("2017-02-16 10:45:00",201,3,"SPARE 3",)"
"("2017-02-16 10:45:00",201,10,"SPARE 10",)"
"("2017-02-16 10:45:00",201,11,"SPARE 11",)"
"("2017-02-16 10:45:00",201,4,"SPARE 4",)"
イムはそれを修正するために...区切ら列でない1列に結果の返却を要求されます。?
-------------------------------------------------------------------
| maxdate | ertu | meter | meter_name | acq_9010 |
-------------------------------------------------------------------
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
カジャン、マレーシアのこの方法を試してみてください?こんにちは – FreedomPride
こんにちは仲間は私を助けることができます...機能を使用して列を分離する方法 –
問題はありませんが、自分自身をデバッグしているだけでなく、出力列も表示できますか?それはより簡単だろう。 – FreedomPride