sql >> Database teknologi >  >> RDS >> Oracle

Kan jeg pivotere datorækker til kolonner uden at skulle angive datoerne i pivoten? Oracle SQL

I pallets underforespørgsel vælger du en strengrepræsentation af datoer (de næste fem eller seks dage). I stedet for det skal du vælge heltal som følger:

select .... , trunc(a.ord_to_ship_date) - trunc(sysdate) as days_ahead, ....

Og så, i den ydre markering,

pivot .... for days_ahead in (1 as today_plus_1, 2 as today_plus_2, 3 as ....)

Bemærk, at i pallets du har trunc(a.ord_to_ship_date) between sysdate and sysdate + 5 . Dette betyder, at hvis forespørgslen køres præcis ved midnat, vil du få afsendelsesdatoer for i dag, i morgen, ..., i dag + 5 (SEK dage i alt). Hvis det er på et andet tidspunkt end midnat, får du kun fem dage - UNDTAGET i dag. Ikke sikker på, hvad dit faktiske krav er, men du vil måske sammenligne med TRUNC(sysdate) i stedet for sysdate , og se præcis, hvad du har brug for i forespørgslen.




  1. Hvordan finder man det maksimale antal ved hjælp af mysql?

  2. Om mysql cursor og iterator

  3. MySQL - kan jeg begrænse den maksimalt tilladte tid for en forespørgsel at køre?

  4. MySQLi klassemønster for tilslutning, luk, lad åben?