我有一个疑问:
select * from (
select
minnn.id_demande_diffusion AS ID_DIFFUSION,
minnn.id_notification as ID_NOTIFICATION,
minnn.cod_entrep as ID_ENTITE,
minnn.cod_entrep_assu as ID_ENTITE_GARANTE,
minnn.CD_ETAT as CD_ETAT,
to_timestamp(substr(minnn.DT_MAJ, 1, 19), 'yyyy-MM-dd HH:mm:ss') AS DT_ETAT,
minnn.CD_ANOMALIE,
minnn.cd_canal as CD_CANAL,
to_timestamp(minnn.dtmin, 'yyyy-MM-dd HH:mm:ss') as DT_DEBUT,
case when minnn.id_demande_diffusion_originale is null then 1 else 0 end as TOP_PREMIERE_DIFFUSION,
to_timestamp(nvl(lead(minnn.dt_capt) over (partition by minnn.id_demande_diffusion order by minnn.dt_capt), '${t}'), 'yyyy-MM-dd HH:mm:ss') AS DT_FIN,
"DIFFUSIONS" AS TYPE_ACTE,
minnn.typ_mvt as TYP_MVT
from
(SELECT *,
LAG(cd_etat) OVER (PARTITION BY id_notification ORDER BY dt_capt) as prev_cd_etat
FROM lkr_send_notification as minnn
) as A
join
(
/////
) as B
on minnn.ID_NOTIFICATION=B.ID_NOTIFICATION
left join
(
//////
) as C
on A.ID_DIFFUSION=C.ID_COMMUNICATION;有人能告诉我为什么会返回错误语法吗?似乎编译器不知道最后一行的A.ID_DIFFUSION。在我写A时,只有列可能是prev_cd_etat
谢谢
发布于 2019-08-19 09:35:47
我自己想出来的。我之前不得不把括号关闭为minnn.
..。
from
(SELECT *,
LAG(cd_etat) OVER (PARTITION BY id_notification ORDER BY dt_capt) as prev_cd_etat
FROM lkr_send_notification) as minnn
) as A
...https://stackoverflow.com/questions/57528859
复制相似问题