2
我想實現這一點:PostgreSQL的:公用表表達式和橫向加入
with Period as
(
SELECT
dp.dtIni as dtRefPeriod,
dp.dtEnd - p.days * interval '1 day' as dtIniWindow,
dp.dtEnd,
p.days
FROM public.vwDimPeriod dp
LEFT JOIN LATERAL (select cast(vlParam as decimal(18,4)) as days
from public.DBParam
where cdparam = 'LifeTimeValueDays') p on TRUE
WHERE dp.dtEnd < CURRENT_DATE
)
,Orders as
(
select
p.dtRefPeriod,
o.nmEmail,
dtOrder,
p.dtIniWindow,
p.dtEnd,
o.cdOrder,
o.vlOrder,
p.days
from
public.vwFactOrder o
LEFT JOIN LATERAL Period p on TRUE
where
ltrim(rtrim(o.nmEmail)) <> ''
and o.blValid = B'1'
)
select * from Orders;
而且我得到一個錯誤:
ERROR: syntax error at or near "p" LINE 1: ...rom public.vwFactOrder o LEFT JOIN LATERAL Period p on TRUE ... ^(execution time: 219 ms; total time: 437 ms)
謝謝!確實如此。 –