Question: I get the following error: SQL Error [ 4 2 7 0 2 ] : ERROR: column reference report _ date is ambiguous Detail: It
I get the following error: SQL Error : ERROR: column reference "reportdate" is ambiguous
Detail: It could refer to either a PLpgSQL variable or a table column.
Where: PLpgSQL function getseparatedteamsdate line at RETURN QUERY. Here is my function: CREATE OR REPLACE FUNCTION getseparatedteamsdates date
RETURNS TABLE
teamaimei TEXT,
teambimei TEXT,
reportdate DATE,
Province TEXT,
District TEXT,
Tehsil TEXT,
Uc TEXT,
countdistinctapingtime INT
AS $$
DECLARE
d DATE;
BEGIN
FOREACH d IN ARRAY dates LOOP
RETURN QUERY
WITH
deprep AS
SELECT report 'details' AS details
FROM campaigndeploymentreporting cdr
formatdeprep AS
SELECT jsonarrayelementsdetails::json AS firstelement
FROM deprep
interreport AS
SELECT
firstelement::jsonb'IMEI' AS imei,
firstelement::jsonb'ReportingStart' AS reportingstart,
firstelement::jsonb'ReportingEnd' AS reportingend,
firstelement::jsonb'Date' AS reportdate,
firstelement::jsonb'Province' AS Province,
firstelement::jsonb'District' AS District,
firstelement::jsonb'Tehsil' AS Tehsil,
firstelement::jsonbUc AS Uc
FROM formatdeprep
finalreport AS
SELECT DISTINCT imei,
reportingstart::timestamp,
reportingend::timestamp,
reportdate::date AS reportdate,
Province,
District,
Tehsil,
Uc
FROM interreport
WHERE reportdate::date d
pings AS MATERIALIZED
SELECT
uimei AS teamaimei,
aimei AS teambimei,
ut interval hours' AS apingtime,
at interval hours' AS bpingtime
FROM
SELECT
pimei,
sttransformpgeoJson, AS geom,
generatedAt AS t
pID AS upingid
FROM campaignpings p
WHERE generatedAt interval hours' BETWEEN d::timestamp interval :: AND d::timestamp interval ::
u
LEFT JOIN
SELECT
pimei,
pID AS apingid
sttransformpgeoJson, AS geom,
generatedAt AS t
FROM campaignpings p
WHERE generatedAt interval hours' BETWEEN d::timestamp interval :: AND d::timestamp interval ::
a
ON NOT STDWithinugeom, ageom,
AND at BETWEEN ut INTERVAL seconds' AND ut INTERVAL seconds'
WHERE aimei IS NOT NULL
AND uimei, aimei IN SELECT teamaimei, teambimei FROM separationtable
filters AS
SELECT
p
frProvince,
frDistrict,
frTehsil,
frUc
frreportingstart AS reportingstarta
frreportingend AS reportingenda
frreportingstart AS reportingstartb
frreportingend AS reportingendb
frreportdate
FROM pings p
LEFT JOIN finalreport fr ON frreportdate papingtime::date AND frimei pteamaimei
LEFT JOIN finalreport fr ON frreportdate pbpingtime::date AND frimei pteambimei
WHERE
frreportingstart IS NOT NULL
AND frreportingend IS NOT NULL
AND frreportingstart IS NOT NULL
AND frreportingend IS NOT NULL
AND papingtime BETWEEN GREATESTfrreportingstart, frreportingstart AND LEASTfrreportingend, frreportingend
SELECT
filters.teamaimei,
filters.teambimei,
filters.reportdate,
filters.Province,
filters.District,
filters.Tehsil,
filters.Uc
COUNTDISTINCT filters.apingtime AS countdistinctapingtime
FROM filters
GROUP BY
HAVING COUNT;
END LOOP;
END;
$$ LANGUAGE plpgsql;
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
