0

テーブルdwh.sgmt_clientsから#(partner_id)のリストを取得し、変数$1が配置されている関数の大きなクエリにそれらの数値を1つずつ挿入しようとしています。次に、それらをクエリとして表示するようにします。私は私の人生のためにそれを理解することはできません

CREATE OR REPLACE FUNCTION dwh.cu_summary_function()
 RETURNS setof record AS
$$
declare partner_id ALIAS FOR $1
BEGIN
RETURN
select a.partner_id from dwh.sgmt_clients a 
loop
RETURN query
  select
avg(klicount)::int as average_kli, min(klicount) as min_kli, max(klicount) as max_kli,
(select count(kli) from ad_delivery.sgmt_kli_adic a where a.partner_id = $1) as total_kli, 
(select count(distinct(kli))from ad_delivery.sgmt_kli_adic a where a.partner_id = $1) as total_distinct_kli, a.partner_id
from (
select adic, count(kli) as klicount, x.partner_id
from ad_delivery.sgmt_kli_adic x
where x.partner_id = $1
group by adic, x.partner_id
) as a
group by a.partner_id;
end loop
END
$$
 LANGUAGE plpgsql VOLATILE
 COST 100;
4

1 に答える 1

2
CREATE OR REPLACE FUNCTION dwh.cu_summary_function(int) --<<<<<<<<<
RETURNS setof record AS

このパラメータ定義は少し時代遅れです。次を使用してください。

CREATE OR REPLACE FUNCTION dwh.cu_summary_function(partner_id int)
RETURNS setof record AS
于 2012-05-22T19:37:43.510 に答える