En las pallets
subconsulta selecciona una representación de cadena de fechas (próximos cinco o seis días). En lugar de eso, debe seleccionar números enteros, de la siguiente manera:
select .... , trunc(a.ord_to_ship_date) - trunc(sysdate) as days_ahead, ....
Y luego, en la selección exterior,
pivot .... for days_ahead in (1 as today_plus_1, 2 as today_plus_2, 3 as ....)
Tenga en cuenta que en pallets
tienes trunc(a.ord_to_ship_date) between sysdate and sysdate + 5
. Esto significa que si la consulta se ejecuta exactamente a la medianoche, obtendrá las fechas de envío de hoy, mañana, ..., hoy + 5 (SEIS días en total). Si es en cualquier otro momento que no sea la medianoche, obtendrá solo cinco días, EXCLUYENDO hoy. No estoy seguro de cuál es su requisito real, pero es posible que desee compararlo con TRUNC(sysdate)
en lugar de sysdate
y vea exactamente lo que necesita en la consulta.