CROSS Apply equivalent in Redshift SQL
Hi All,
I am trying to find the equivalent of CROSS APPLY in the query below. Can you please help..
WITH CTE AS ( SELECT *,ROW_NUMBER()OVER(PARTITION BY "ORDER","ORD_DATE" ORDER BY "DATE_VALUE" DESC)AS RNum FROM input ),CTE2 AS ( SELECT "ORDER","ORDDATE","PRMDATE","DATE_VALUE" AS recdate, DATE_SUB("DATE_VALUE", INTERVAL 7 DAY) as recdate1, DATE_SUB("DATE_VALUE", INTERVAL 14 DAY) as recdate2, DATE_SUB("DATE_VALUE", INTERVAL 28 DAY) as recdate3 FROM CTE WHERE RNum=1 ) SELECT C.ORDER,C.ORDDATE,C.PRMDATE,C.recdate,C.recdate1,C.recdate2,C.recdate3 ,C1.PRM_DATE AS [prmdate-7],C2.PRM_DATE AS [prmdate-14],C3.PRM_DATE AS [prmdate-28] FROM CTE2 C CROSS APPLY(SELECT "PRM_DATE" FROM input WHERE C.SLS_ORD="SLS_ORD" AND C.ORD_DATE="ORD_DATE" AND C.recdate1="DATE_VALUE")C1 CROSS APPLY(SELECT "PRM_DATE" FROM input WHERE C.SLS_ORD="SLS_ORD" AND C.ORD_DATE="ORD_DATE" AND C.recdate2="DATE_VALUE")C2 CROSS APPLY(SELECT "PRM_DATE" FROM input WHERE C.SLS_ORD="SLS_ORD" AND C.ORD_DATE="ORD_DATE" AND C.recdate3="DATE_VALUE")C3
Following is the context for the same
I am trying to pull the current promise date and the promise date 7 days ago, promise date 14 days ago, promise date 28 days ago with respect to the field date_value...The field prmdate is the promisedate
The promise date corresponding to the latest date_value is the current promise date...
The recdate is the latest date_value, rec1date is date_value-7, rec2date is date_value-14, rec3date is date_value-28
Input table
Output table
Attached the data
0
Categories
- 10.5K All Categories
- 8 Connect
- 918 Connectors
- 250 Workbench
- 470 Transform
- 1.7K Magic ETL
- 69 SQL DataFlows
- 477 Datasets
- 193 Visualize
- 252 Beast Mode
- 2.1K Charting
- 11 Variables
- 17 Automate
- 354 APIs & Domo Developer
- 89 Apps
- 3 Workflows
- 20 Predict
- 5 Jupyter Workspaces
- 15 R & Python Tiles
- 247 Distribute
- 63 Domo Everywhere
- 243 Scheduled Reports
- 21 Manage
- 42 Governance & Security
- 174 Product Ideas
- 1.2K Ideas Exchange
- 12 Community Forums
- 27 Getting Started
- 14 Community Member Introductions
- 55 Community News
- 4.5K Archive