Ich muss etwas wirklich komisches tun, das ist gefälschte Datensätze in einer Ansicht zu schaffen, um die Lücke zwischen veröffentlichten Daten der Produktpreise zu füllen.Duplizieren von Datensätzen, um Lücke zwischen Daten zu füllen
Eigentlich ist mein Szenario ein bisschen komplizierter als das, aber ich habe Produkte/Daten/Preise vereinfacht.
Lassen Sie uns sagen, dass wir diese Tabelle haben:
create table PRICES_TEST
(
PRICE_DATE date not null,
PRODUCT varchar2(13) not null,
PRICE number
);
alter table PRICES_TEST
add constraint PRICES_TEST_PK
primary key (PRICE_DATE, PRODUCT);
Mit diesen Aufzeichnungen:
insert into PRICES_TEST values (date'2012-04-15', 'Screw Driver', 13);
insert into PRICES_TEST values (date'2012-04-18', 'Screw Driver', 15);
insert into PRICES_TEST values (date'2012-04-13', 'Hammer', 10);
insert into PRICES_TEST values (date'2012-04-16', 'Hammer', 15);
insert into PRICES_TEST values (date'2012-04-19', 'Hammer', 17);
Auswählen von Datensätzen zurückkehren wird mir dies:
PRICE_DATE PRODUCT PRICE
------------------------- ------------- ----------------------
13-Apr-2012 00:00:00 Hammer 10
16-Apr-2012 00:00:00 Hammer 15
19-Apr-2012 00:00:00 Hammer 17
15-Apr-2012 00:00:00 Screw Driver 13
18-Apr-2012 00:00:00 Screw Driver 15
heute 21. April 2012 Unter der Annahme, Ich brauche eine Ansicht, die jeden Preis jeden Tag un wiederholen soll Bis ein neuer Preis gebucht wird. Gefällt mir:
PRICE_DATE PRODUCT PRICE
------------------------- ------------- ----------------------
13-Apr-2012 00:00:00 Hammer 10
14-Apr-2012 00:00:00 Hammer 10
15-Apr-2012 00:00:00 Hammer 10
16-Apr-2012 00:00:00 Hammer 15
17-Apr-2012 00:00:00 Hammer 15
18-Apr-2012 00:00:00 Hammer 15
19-Apr-2012 00:00:00 Hammer 17
20-Apr-2012 00:00:00 Hammer 17
21-Apr-2012 00:00:00 Hammer 17
15-Apr-2012 00:00:00 Screw Driver 13
16-Apr-2012 00:00:00 Screw Driver 13
17-Apr-2012 00:00:00 Screw Driver 13
18-Apr-2012 00:00:00 Screw Driver 15
19-Apr-2012 00:00:00 Screw Driver 15
20-Apr-2012 00:00:00 Screw Driver 15
21-Apr-2012 00:00:00 Screw Driver 15
Irgendwelche Ideen, wie man das macht? I kann nicht wirklich andere Hilfstabellen, Trigger oder PL/SQL-Programmierung verwenden, ich muss dies wirklich tun mit eine Ansicht.
Ich denke, dass dies mit Oracle-Analysen durchgeführt werden kann, aber ich bin nicht vertraut damit. Ich habe versucht, diese http://www.club-oracle.com/articles/analytic-functions-i-introduction-164/ zu lesen, aber ich habe es überhaupt nicht verstanden.
NVM, ich verstehe es jetzt :) Es wird möglich sein, Daten mit der kreativen Nutzung der 'Dual' Tabelle zu generieren. – mellamokb
Ich könnte davon ausgehen, dass Orakel Analytics seine eigene Dimension Tabelle hat, um eine solche Funktion durchzuführen. Könnten Sie einfach Ihre eigene Tabelle für die Datendimension erstellen? –
hier ist ein interessanter Artikel über das Erstellen einer dynamischen Kalenderansicht in Tsql (ja, Sie möchten Orakel, aber vielleicht kann es geändert werden): http://sqlserverpedia.com/blog/sql-server-bloggers/tsql-tuesday18- using-a-rekursive-cte-to-create-a-kalender-tabelle/ –