Ich habe Probleme bei der Verknüpfung von 2 Tabellen und Filtern der Daten genau. Ich kann die Tabellen leicht ändern, wenn es sein muss. Ich bin mit Microsoft SQL Server 2008.Beitreten 2 Tabellen - füllen Sie fehlende Daten
Table A
System_Code | Name | Client ID| Fund | Purchase_Date | Shares
1 | Lily | 123456 | 001 | 02/21/2016 | 100
1 | Lily | 123456 | 001 | 02/26/2016 | 200
2 | Lily | 123456 | 002 | 02/24/2016 | 250
und so weiter
Jeder Fonds hat seine eigene System_Code
Table B
System_Code | Date | Price
1 | 02/21/2016 | 10
1 | 02/22/2016 | 10
1 | 02/23/2016 | 9
1 | 02/24/2016 | 10
1 | 02/25/2016 | 11
1 | 02/26/2016 | 10.5
und so weiter
Mein Ziel ist es herauszufinden, wie viel Teilen eines Kunden hält an einem bestimmten Tag und den Preis pro Aktie.
Wenn ich einfach 2 Tabellen verbinden ON (tableA.System_Code = tableB.System_Code), bekomme ich diese:
System_Code| Name | Client ID| Fund |Purchase_Date|Shares| Date | Price
1 | Lily | 123456 | 001 |02/21/2016 |100 |02/21/2016| 10
1 | Lily | 123456 | 001 |02/26/2016 |200 |02/26/2016| 10.5
Wenn ich beitreten 2 Tische zusammen WHERE tableB.Date> = tableA.Purchase
System_Code| Name | Client ID| Fund |Purchase_Date|Shares| Date | Price
1 | Lily | 123456 | 001 |02/21/2016 |100 |02/21/2016| 10
1 | Lily | 123456 | 001 |02/21/2016 |100 |02/22/2016| 10
1 | Lily | 123456 | 001 |02/21/2016 |100 |02/23/2016| 9
1 | Lily | 123456 | 001 |02/21/2016 |100 |02/24/2016| 10
1 | Lily | 123456 | 001 |02/21/2016 |100 |02/25/2016| 11
1 | Lily | 123456 | 001 |02/21/2016 |100 |02/26/2016| 10.5
1 | Lily | 123456 | 001 |02/26/2016 |200 |02/26/2016| 10.5
Wie Sie sehen können, ist es fast perfekt bis auf die letzten zwei Zeilen
1 | Lily | 123456 | 001 |02/21/2016 |100 |02/26/2016| 10.5
1 | Lily | 123456 | 001 |02/26/2016 |200 |02/26/2016| 10.5
Da es einen Kauf gemacht auf 26.02.2016, die erste Zeile mit Kaufdatum vom 21.02.2016 soll fallen. Das gewünschte Ergebnis wäre:
System_Code| Name | Client ID| Fund |Purchase_Date|Shares| Date | Price
1 | Lily | 123456 | 001 |02/21/2016 |100 |02/21/2016| 10
1 | Lily | 123456 | 001 |02/21/2016 |100 |02/22/2016| 10
1 | Lily | 123456 | 001 |02/21/2016 |100 |02/23/2016| 9
1 | Lily | 123456 | 001 |02/21/2016 |100 |02/24/2016| 10
1 | Lily | 123456 | 001 |02/21/2016 |100 |02/25/2016| 11
1 | Lily | 123456 | 001 |02/26/2016 |200 |02/26/2016| 10.5
Hoffe ich meine Punkte klar vermitteln. TIA!
Sie Ihre Punkte klar zu machen! Können Sie ein sqlFiddle mit Testdaten machen? – gh9