Hoi,
Ik kom niet tot een oplossing voor het volgende. En ik hoop dat iemand hiermee kan helpen. Ik heb twee tabellen, 'months' en 'weeks'. Elke week wordt er een bedrag in de weeks tabel gezet, met daarbij de datum van die week. Dit is de behaalde omzet per week. In de 'months' tabel wordt, niet perse aan het einde vd maand maar een tijdje het effectief behaalde omzet geplaatst met dan een datum van die maand.
Nu wil ik alle weken ophalen, en de bedragen opsommen, maar als er voor een maand een 'months' regel bestaat, moeten alle weken daarin komen te vervallen. Ik kan het beste even schetsen:
maand1, maand2, maand3, maand4, week17, week18, week19, week20, week21, week22
Wordt die maand5 ingevuld, dan moet hij dus de laatste weken binnen die maand uit de query laten en de maand summen.
maand1, maand2, maand3, maand4, maand5, week22
(maand en week nummers zijn een voorbeeld, niet de werkelijkheid).
Dus zolang er geen maand is voor die weken, moeten de weken plus de voorlopende maanden. Dit is een voorbeeld zonder between oid om het simpel te houden.
Omdat die twee tabellen niets gemeen met elkaar hebben loop ik vast, ik kom tot een CROSS JOIN met een CASE maar dan weet ik niet waarop ik moet toesten. Als ik op een week kom, en kom tot de conclusie dat het een maand moet zijn gaat hij toch alle drie/vrier de weken af en krijg je 4x die maand ge SUM's.
Al start ik met de maanden, dan weet ik niet hoe ik de missende maanden kan vullen met de betreffende weken.
De data is zoals het is, daar kan ik niets aan doen. Dus ik zoek een oplossing voor mijn uitdaging. Elke hulp is erg welkom!
Alvast dank, Bas.
months
weeks
...
Ik kom niet tot een oplossing voor het volgende. En ik hoop dat iemand hiermee kan helpen. Ik heb twee tabellen, 'months' en 'weeks'. Elke week wordt er een bedrag in de weeks tabel gezet, met daarbij de datum van die week. Dit is de behaalde omzet per week. In de 'months' tabel wordt, niet perse aan het einde vd maand maar een tijdje het effectief behaalde omzet geplaatst met dan een datum van die maand.
Nu wil ik alle weken ophalen, en de bedragen opsommen, maar als er voor een maand een 'months' regel bestaat, moeten alle weken daarin komen te vervallen. Ik kan het beste even schetsen:
maand1, maand2, maand3, maand4, week17, week18, week19, week20, week21, week22
Wordt die maand5 ingevuld, dan moet hij dus de laatste weken binnen die maand uit de query laten en de maand summen.
maand1, maand2, maand3, maand4, maand5, week22
(maand en week nummers zijn een voorbeeld, niet de werkelijkheid).
Dus zolang er geen maand is voor die weken, moeten de weken plus de voorlopende maanden. Dit is een voorbeeld zonder between oid om het simpel te houden.
Omdat die twee tabellen niets gemeen met elkaar hebben loop ik vast, ik kom tot een CROSS JOIN met een CASE maar dan weet ik niet waarop ik moet toesten. Als ik op een week kom, en kom tot de conclusie dat het een maand moet zijn gaat hij toch alle drie/vrier de weken af en krijg je 4x die maand ge SUM's.
Al start ik met de maanden, dan weet ik niet hoe ik de missende maanden kan vullen met de betreffende weken.
De data is zoals het is, daar kan ik niets aan doen. Dus ik zoek een oplossing voor mijn uitdaging. Elke hulp is erg welkom!
Alvast dank, Bas.
months
id (int) | value (dec8,2) | report_date (date) |
weeks
id (int) | value (dec8,2) | report_date (date) |
...
[ Voor 3% gewijzigd door BasXcore op 13-08-2020 17:04 . Reden: tabellen niet goed ]