0
我知道我必須將文本傳遞給postgres中的交叉表函數。但不知何故,我無法做到這一點。我不知道我做錯了什麼,請幫助。這是我想創建無法在交叉表函數中傳遞參數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;
它成功運行的功能,但是當我運行使用日期像
select * from hrms.test2('2017-09-01')
它,我得到一個錯誤信息說
column startdate doesn't exist
我有嘗試了更多的替代方案。我不知道我在做什麼錯誤請幫忙。
有誰能夠請回復至少 – Vikram