Ich habe 2 Tabellen (?):Komplexe SQL-Abfrage beitreten
1) Tabelle Masterdates, die alle Daten seit Jan enthält 1, 1900
2) Tabelle Stockdata die Bestandsdaten in Form Datum enthält, Symbol, offen, hoch, tief, in der Nähe, Volumen (Primärschlüssel = Datum, Symbol)
Das ist, was ich suche
mdate, sdate, Symbol, (dargestellt hier im CSV-Format) Öffnen abrufen , Hoch, ...
6/4/2001,6/4/2001, Foo, 47,49, ...
6/5/2001, null, null, null, null, ...
6/6/2001.6/6/2001, Foo, 54,56, ...
wobei MDate von Masterdates und SDate von Stockdata stammt. Ich muss die Ausgabe mit dem ersten (frühesten) Extent-Datum für das gewünschte Symbol (in diesem Beispiel Foo, beginnend am 6.4.2001) in Stockdata beginnen und dann alle Daten in Masterdates bis einschließlich des letzten einschließen (spätestes) verfügbares Datum für das gewünschte Symbol in Stockdata, Ausgabe von Nullen, wenn es keinen entsprechenden Stockdata-Datensatz für einen gegebenen Masterdate-Datensatz in dem beschriebenen Bereich gibt.
Gibt es eine Möglichkeit, dies in einer einzigen Abfrage, einer Reihe von Abfragen und/oder durch Hinzufügen von Hilfstabellen zu tun, die zu schnellen Ergebnissen führen? Oder muss ich Obermengen von dem, was ich will, ausgeben und dann die endgültige Ausgabe mit meiner (nicht-SQL-) Programmiersprache erstellen?
TIA
Welches SQL-System genau? MS SQL Server? MySQL? –