Nos
pallets
subconsulta você seleciona uma representação de string de datas (próximos cinco ou seis dias). Em vez disso, você deve selecionar números inteiros, como segue:select .... , trunc(a.ord_to_ship_date) - trunc(sysdate) as days_ahead, ....
E então, na seleção externa,
pivot .... for days_ahead in (1 as today_plus_1, 2 as today_plus_2, 3 as ....)
Observe que em
pallets
você tem trunc(a.ord_to_ship_date) between sysdate and sysdate + 5
. Isso significa que se a consulta for executada exatamente à meia-noite, você obterá as datas de envio para hoje, amanhã, ..., hoje + 5 (total de SEIS dias). Se for a qualquer hora que não seja meia-noite, você terá apenas cinco dias - EXCLUINDO hoje. Não tenho certeza de qual é o seu requisito real, mas você pode querer comparar com TRUNC(sysdate)
em vez de sysdate
e veja exatamente o que você precisa na consulta.