sql >> Databáze >  >> RDS >> Oracle

Mohu kontingenční řádky s datem do sloupců, aniž bych musel zadávat data v kontingenčním sloupci? Oracle SQL

V pallets poddotaz vyberete řetězcovou reprezentaci dat (příštích pět nebo šest dní). Místo toho byste měli vybrat celá čísla následovně:

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

A pak ve vnějším výběru

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

Všimněte si, že v pallets máte trunc(a.ord_to_ship_date) between sysdate and sysdate + 5 . To znamená, že pokud je dotaz spuštěn přesně o půlnoci, dostanete data odeslání pro dnešek, zítra, ..., dnes + 5 (celkem ŠEST dní). Pokud je to v kteroukoli jinou dobu než o půlnoci, získáte pouze pět dní – KROMĚ dneška. Nejste si jisti, jaký je váš skutečný požadavek, ale možná budete chtít porovnat s TRUNC(sysdate) místo sysdate a v dotazu uvidíte, co přesně potřebujete.




  1. Jak získat přístup k MySQL pomocí kořenového uživatele MySQL

  2. Admin skripty v R12.2 Ebuisness Suite

  3. Seskupit podle měsíce nebo 0, pokud nejsou výsledky?

  4. Deset způsobů, jak rozšířit funkčnost PostgreSQL