Hoi tweakers
In een onlangs geschreven veiling site in asp en sql ben ik volgende fout volgende tegengekomen bij het selecteren van data.
Hier voer ik de volgende sql op uit om het hoogste bod per kavel te krijgen (max per group)
Ik krijg dan deze data terug uit de selectie als volgt....
Van kavel 2 komen er ineens 2 regels data terug ipv van alleen het hoogste bod van kavel 2.
Dit probleem doet zich alleen voor als het hoogste bod van een kavel bij een van de andere kavels nogmaals voorkomt als bod. Dan krijg ik voor kavel (2) ineens twee regels data terug.... Als de biedingen van de kavels allemaal uniek zijn en dus bedragen niet meerdere malen voorkomen dan werkt t wel perfect en krijg ik netjes t hoogste bod per kavel...
Heb allerlei sites en fora zitten napluizen over het gebruik van max per group in sql, maar t blijkt toch een stuk lastiger te zijn dan ik verwacht. Ik zie niet waar of waarom het fout gaat...
Iemand die mij verder kan helpen ??
Op verzoek kan ik de files en een werkende site als voorbeeld laten zien...
In een onlangs geschreven veiling site in asp en sql ben ik volgende fout volgende tegengekomen bij het selecteren van data.
code:
1
2
3
4
5
6
7
8
9
| tabel : tabel_biedingen bod kavel naam 75 1 barry 25 1 truus 87 2 bert 75 2 jaap 50 2 jan 100 3 miep |
Hier voer ik de volgende sql op uit om het hoogste bod per kavel te krijgen (max per group)
code:
1
2
3
4
| SELECT tabel_biedingen.kavel, tabel_biedingen.bod, tabel_biedingen.naam FROM tabel_biedingen WHERE (((tabel_biedingen.bod) In (SELECT MAX(BOD) FROM tabel_biedingen Group BY kavel))) ORDER BY tabel_biedingen.kavel; |
Ik krijg dan deze data terug uit de selectie als volgt....
code:
1
2
3
4
5
| bod kavel naam 75 1 barry 87 2 bert 75 2 jaap 100 3 miep |
Van kavel 2 komen er ineens 2 regels data terug ipv van alleen het hoogste bod van kavel 2.
Dit probleem doet zich alleen voor als het hoogste bod van een kavel bij een van de andere kavels nogmaals voorkomt als bod. Dan krijg ik voor kavel (2) ineens twee regels data terug.... Als de biedingen van de kavels allemaal uniek zijn en dus bedragen niet meerdere malen voorkomen dan werkt t wel perfect en krijg ik netjes t hoogste bod per kavel...
Heb allerlei sites en fora zitten napluizen over het gebruik van max per group in sql, maar t blijkt toch een stuk lastiger te zijn dan ik verwacht. Ik zie niet waar of waarom het fout gaat...
Iemand die mij verder kan helpen ??
Op verzoek kan ik de files en een werkende site als voorbeeld laten zien...