我是 SQL 新手,我想执行以下操作:
我有下表:
我必须使用以下规则构建“DateFinal”列:
结果应该是这样的:
我怎样才能在bigquery中实现这一点?
非常感谢!
WITH Table0 AS
(SELECT
Gruopid,
DateStart,
Orden,
Days
FROM `project.test`
ORDER BY Gruopid,Orden),
Table1 AS
(SELECT
*,
CASE
WHEN Orden =1 THEN DATE_ADD(DateStart, INTERVAL Days DAY)
ELSE NULL END AS DateFinal
FROM Table0)
SELECT
*,
CASE
WHEN Orden> 1 THEN DATE_ADD(LAG(DateFinal) OVER (PARTITION BY Gruopid ORDER BY Orden),INTERVAL Days DAY)
ELSE NULL END AS DateFinal
FROM Table1