Je sais que je dois passer du texte à la fonction de tableau croisé dans postgres. Mais de toute façon je suis incapable de le faire. Je ne suis pas sûr de ce que je fais mal s'il vous plaît Aide. Ceci est la fonction que je suis en train de créerImpossible de passer des arguments dans la fonction de tableau croisé postgres
create or replace function hrms.test2(startdate date)
returns table(
employeeid int,
col1 int,
col2 INT,
col3 int,
col4 int) as
$body$
SELECT * FROM hrms.crosstab(
$firstquery$
SELECT tms.employeeid,tms.today,count(tms.employeeid) as countid
FROM hrms.timesheet as tms
where dated>=|| quote_literal(startdate) ||
and dated < ||+ quote_literal(startdate)||::timestamp + '1 MONTH'::INTERVAL
group by tms.employeeid,tms.today $firstquery$,
$secquery$ select distinct tms.today
from hrms.timesheet as tms$secquery$
)as
finalresult(employeeid int,leave int,present int,absent int, holiday int)
$body$
LANGUAGE SQL;
Il fonctionne avec succès, mais quand je le lance en utilisant une date comme
select * from hrms.test2('2017-09-01')
Je reçois un message d'erreur indiquant
column startdate doesn't exist
J'ai essayé quelques autres alternatives aussi bien. Je ne suis pas sûr de ce que je fais mal S'il vous plaît aider.
quelqu'un peut-il s'il vous plaît répondre au moins – Vikram