Beste,
Ik heb een probleem en ik slaag er maar niet in om dit op te lossen...
Ik ben er zeker van dat dit voor sommigen onder jullie een fluitje van een cent zal zijn.
Ik maak gebruik van SQL server 2005 (Dus aanleiding naar een eventuele oplossing mag ook in de vorm van SSIS zijn)
Beschouwen we 2 tabellen:
- DimBetaler_adres
Met respectievelijk | unieknummer | naam | straat | bus | from_date | als kolommen
- DimBetaler_group
Met | unieknummer | group_id | from_date als kolommen
Nu wil ik van deze 2 tabellen 1 tabel maken; zijnde DimBetaler:
Met | unieknummer | naam | straat | bus | group_id | als kolommen
De koppeling tussen de 2 voorgaande tabellen moet gebeuren via het unieknummer ( en de from_date; en het is daar waar het probleem zich stelt; from_date is datetime en unieknummer is int)
Laat mij deze nu vullen met data om mijn probleem te illustreren:
- DimBetaler_adres
| unieknummer | naam | straat | bus | from_date |
1500 Deterfim vredestraat 1 1992-01-01
1500 Deterfim vrijheidsstraat 12 1995-01-01
1500 AquaJet vrijheidsstraat 25 2000-01-01
- DimBetaler_group
| unieknummer | group_id | from_date
1500 5 1992-01-01
1500 6 1994-01-01
1500 7 1995-01-01
1500 15 1998-01-01
1500 23 2005-01-01
Nu, dit is de tabel die ik moet bekomen:
DimBetaler_adres
| unieknummer | naam | straat | bus | group_id | from_date |
1500 Deterfim vredestraat 1 5 1992-01-01
1500 Deterfim vrijheidstraat 12 6 1994-01-01
1500 Deterfim vrijheidstraat 12 7 1995-01-01
1500 Deterfim vrijheidstraat 12 15 1998-01-01
1500 Deterfim vredestraat 25 15 2000-01-01
1500 Deterfim vredestraat 25 23 2000-01-01
Dus zoals jullie zien is de koppeling gebeurd op unieknummer...
Echter moet ik ook rekening houden met de from_date's dus als de ene waarde veranderd (Bv. straat) moet rekening gehouden worden met wat de andere waarde was op het tijdstip van verandering. (Dus bv. group_id) en omgekeerd.
Wat ik al allemaal geprobeerd heb:
- Via SSIS een date loop gemaakt welke mij de datums afloopt en deze vult.
- En nog zoveel andere methoden via SSIS...
- eerst left join op eerste tabel; dan samenvoegen met left join op 2de... Blok...
- ...
Op het net vind ik hier niets van terug... daar het nogal vrij specifiek is...
Zouden jullie mij willen helpen?
Alvast bedankt!
Vriendelijke groeten,
J.
Ik heb een probleem en ik slaag er maar niet in om dit op te lossen...
Ik ben er zeker van dat dit voor sommigen onder jullie een fluitje van een cent zal zijn.
Ik maak gebruik van SQL server 2005 (Dus aanleiding naar een eventuele oplossing mag ook in de vorm van SSIS zijn)
Beschouwen we 2 tabellen:
- DimBetaler_adres
Met respectievelijk | unieknummer | naam | straat | bus | from_date | als kolommen
- DimBetaler_group
Met | unieknummer | group_id | from_date als kolommen
Nu wil ik van deze 2 tabellen 1 tabel maken; zijnde DimBetaler:
Met | unieknummer | naam | straat | bus | group_id | als kolommen
De koppeling tussen de 2 voorgaande tabellen moet gebeuren via het unieknummer ( en de from_date; en het is daar waar het probleem zich stelt; from_date is datetime en unieknummer is int)
Laat mij deze nu vullen met data om mijn probleem te illustreren:
- DimBetaler_adres
| unieknummer | naam | straat | bus | from_date |
1500 Deterfim vredestraat 1 1992-01-01
1500 Deterfim vrijheidsstraat 12 1995-01-01
1500 AquaJet vrijheidsstraat 25 2000-01-01
- DimBetaler_group
| unieknummer | group_id | from_date
1500 5 1992-01-01
1500 6 1994-01-01
1500 7 1995-01-01
1500 15 1998-01-01
1500 23 2005-01-01
Nu, dit is de tabel die ik moet bekomen:
DimBetaler_adres
| unieknummer | naam | straat | bus | group_id | from_date |
1500 Deterfim vredestraat 1 5 1992-01-01
1500 Deterfim vrijheidstraat 12 6 1994-01-01
1500 Deterfim vrijheidstraat 12 7 1995-01-01
1500 Deterfim vrijheidstraat 12 15 1998-01-01
1500 Deterfim vredestraat 25 15 2000-01-01
1500 Deterfim vredestraat 25 23 2000-01-01
Dus zoals jullie zien is de koppeling gebeurd op unieknummer...
Echter moet ik ook rekening houden met de from_date's dus als de ene waarde veranderd (Bv. straat) moet rekening gehouden worden met wat de andere waarde was op het tijdstip van verandering. (Dus bv. group_id) en omgekeerd.
Wat ik al allemaal geprobeerd heb:
- Via SSIS een date loop gemaakt welke mij de datums afloopt en deze vult.
- En nog zoveel andere methoden via SSIS...
- eerst left join op eerste tabel; dan samenvoegen met left join op 2de... Blok...
- ...
Op het net vind ik hier niets van terug... daar het nogal vrij specifiek is...
Zouden jullie mij willen helpen?
Alvast bedankt!
Vriendelijke groeten,
J.