I am trying to run a query in snowflake:
SELECT DISTINCT RPU.RID,
RA.DATE,
COALESCE(RTH.CT, 0) as RCNT,
COALESCE (R.COMMENT_SITE, PR.COMMENT_SITE) as COMMENT_SITE,
##########################
COALESCE ((SELECT SPD FROM "DB"."SCHEMA"."PRD" WHERE
COMMENT_SITE = R.COMMENT_SITE AND CLOTH_ID = RPU.GPR
ORDER BY (IS_ACTIVE = false) LIMIT 1), PR.SPD) as SPD
#########################
FROM "DB"."SCHEMA"."CLOTH_USED" RPU JOIN "DB"."SCHEMA"."CAGR" RA ON RPU.RID = RA.RID
LEFT OUTER JOIN "DB"."SCHEMA"."PNTR_IMP" PR ON RPU.COMMENT_ID[1] = PR.ID
left outer join "DB"."SCHEMA"."COMMENTS" R ON RPU.COMMENT_ID[1] = R.ID
LEFT OUTER JOIN CLOTH_COUNT RTH ON RTH.CLOTH_ID = RPU.GPR
ORDER BY RPU.RID DESC, COALESCE(RTH.CT, 0) ASC, RA.DATE DESC LIMIT 1;
I get the error as:
SQL compilation error: Unsupported subquery type cannot be evaluated
The following query works fine:
SELECT DISTINCT RPU.RID,
RA.DATE,
COALESCE(RTH.CT, 0) as RCNT,
COALESCE (R.COMMENT_SITE, PR.COMMENT_SITE) as COMMENT_SITE,
FROM "DB"."SCHEMA"."CLOTH_USED" RPU JOIN "DB"."SCHEMA"."CAGR" RA ON RPU.RID = RA.RID
LEFT OUTER JOIN "DB"."SCHEMA"."PNTR_IMP" PR ON RPU.COMMENT_ID[1] = PR.ID
left outer join "DB"."SCHEMA"."COMMENTS" R ON RPU.COMMENT_ID[1] = R.ID
LEFT OUTER JOIN CLOTH_COUNT RTH ON RTH.CLOTH_ID = RPU.GPR
ORDER BY RPU.RID DESC, COALESCE(RTH.CT, 0) ASC, RA.DATE DESC LIMIT 1;
The issue SQL compilation error: Unsupported subquery type cannot be evaluated occurs when I add:
COALESCE ((SELECT SPD FROM "DB"."SCHEMA"."PRD" WHERE
COMMENT_SITE = R.COMMENT_SITE AND CLOTH_ID = RPU.GPR
ORDER BY (IS_ACTIVE = false) LIMIT 1), PR.SPD) as SPD
How can I correct the query? The problem is with where clause, without where it works fine. How do I re-write the query?