Dans les pallets
sous-requête, vous sélectionnez une représentation sous forme de chaîne de dates (les cinq ou six prochains jours). Au lieu de cela, vous devez sélectionner des nombres entiers, comme suit :
select .... , trunc(a.ord_to_ship_date) - trunc(sysdate) as days_ahead, ....
Et puis, dans la sélection externe,
pivot .... for days_ahead in (1 as today_plus_1, 2 as today_plus_2, 3 as ....)
Notez que dans les pallets
vous avez trunc(a.ord_to_ship_date) between sysdate and sysdate + 5
. Cela signifie que si la requête est exécutée exactement à minuit, vous obtiendrez les dates d'expédition pour aujourd'hui, demain, ..., aujourd'hui + 5 (SIX jours au total). S'il est à n'importe quelle heure autre que minuit, vous n'obtiendrez que cinq jours - EXCLUSANT aujourd'hui. Vous ne savez pas quelle est votre exigence réelle, mais vous voudrez peut-être comparer avec TRUNC(sysdate)
au lieu de sysdate
, et voyez exactement ce dont vous avez besoin dans la requête.