Mijn tabellen:
Er kunnen geen, een, of meerdere additionele bundels aan een basisbundel zitten.
Er is telkens een basisbundel geselecteerd
Alle mogelijke combinaties van additionele bundels moeten wergegeven worden.
Deze combinaties worden gelimiteerd door het feit dat er bij het combineren telkens maar een additionele bundel uit een DealGroup mag worden gekozen (zie fig 1)
de combinatie ID(0,4) mag, de combinatie Id(0,1) niet, omdat ze dezelfde dealgroup hebben.
Het resultaat moet terugkomen in de vorm:
b.Id b.Name b.DurationMonths b.ProviderID a.Id a.Name a.DealGroupId a.DurationMonths a.ProviderID
Waar alle a.* dus herhaald worden voor het aantal extra bundels dat in de combinatie zit.
Een mogelijk resultaat is dus:
0, Basis Samenstellen, 24, 1, 0, SMS 100, 1, 12, 1, 4, 50 Minuten, 2, 12, 1, 8, Cloud 25 GB, 4, 24, 1
Hier staan dus 3 additionele bundels achter elkaar (1 row) en op deze manier moeten dus alle combinaties van additionele bundels in unieke dealgroups gevonden worden.
Mijn vraag aan u: is dit mogelijk in 1 Query (eventueel met subquery’s) of moeten er meerdere query’s en eventueel een programmeertaal aan te pas komen.
dit is voor een simulatie die ik maak
code:
1
2
3
4
5
6
| basisBundels b Additionele_bundels a
Id Id
Name Name
DurationMonths DealGroupId
ProviderID DurationMonths
ProviderID |
Er kunnen geen, een, of meerdere additionele bundels aan een basisbundel zitten.
Er is telkens een basisbundel geselecteerd
Alle mogelijke combinaties van additionele bundels moeten wergegeven worden.
Deze combinaties worden gelimiteerd door het feit dat er bij het combineren telkens maar een additionele bundel uit een DealGroup mag worden gekozen (zie fig 1)
de combinatie ID(0,4) mag, de combinatie Id(0,1) niet, omdat ze dezelfde dealgroup hebben.
code:
1
2
3
4
5
6
7
8
9
10
| Id Name DealGroupId DurationMonths ProviderID 0 SMS 100 1 12 1 1 SMS 200 1 12 1 2 SMS 100 1 24 1 3 SMS 200 1 24 1 4 50 Minuten 2 12 1 5 100 Minuten 2 24 1 6 500 MB 3 12 1 7 1000 MB 3 12 1 8 Cloud 25 GB 4 24 1 |
Het resultaat moet terugkomen in de vorm:
b.Id b.Name b.DurationMonths b.ProviderID a.Id a.Name a.DealGroupId a.DurationMonths a.ProviderID
Waar alle a.* dus herhaald worden voor het aantal extra bundels dat in de combinatie zit.
Een mogelijk resultaat is dus:
0, Basis Samenstellen, 24, 1, 0, SMS 100, 1, 12, 1, 4, 50 Minuten, 2, 12, 1, 8, Cloud 25 GB, 4, 24, 1
Hier staan dus 3 additionele bundels achter elkaar (1 row) en op deze manier moeten dus alle combinaties van additionele bundels in unieke dealgroups gevonden worden.
Mijn vraag aan u: is dit mogelijk in 1 Query (eventueel met subquery’s) of moeten er meerdere query’s en eventueel een programmeertaal aan te pas komen.
dit is voor een simulatie die ik maak