Ter introductie: Ik ben een beginnend programmeur (niveau: prutser) die met ASP.NET (C#) en MySQL wat simpele pagina's aan het bouwen is.
Ik kan eenvoudige queries in SQL doen maar ik heb een vraag waar ik al dagen niet uitkom terwijl het niet moeilijk zou moeten zijn. Ik zal het probleem uitleggen aan de hand van een voorbeeld:
Stel, ik heb een platte tabel 'Webwinkels' met tenminste de velden 'ID' (primary key), 'Titel' (tekst), 'Prijs' (waarde), 'Categorie' (tekst), en 'Winkel' (tekst). In die tabel staat het aanbod van enkele webwinkels.
Wat ik al heb is de volgende query:
En die levert het volgende resultaat op:
Wat ik wil is dat per unieke "Titel" alleen het record met de laagste prijs wordt getoond. Dus zo:
En daar kom ik niet uit. Ik heb het met termen als LIMIT en DISTINCT geprobeerd maar dat levert niet het gewenste resultaat op.
In het verleden, toen ik ASP en VBS nog gebruikte, heb ik dit opgelost met wat VBS code die het queryresultaat nog eens filterde maar dat is een lompe oplossing die ik dit keer wil vermijden omdat ik weet dat het beter kan.
Zoeken via Google levert niks op omdat ik niet weet op welk keyword ik zou moeten zoeken. Ik heb al op een boel keywords gezocht maar vind voortdurend dingen die ik niet kan gebruiken of dingen die 2 stappen te complex voor me zijn.
Ik zou al heel blij zijn met een goede zoekterm waarmee ik verder kan Googlen maar helemaal perfect zou natuurlijk een echte oplossing zijn.
Ik kan eenvoudige queries in SQL doen maar ik heb een vraag waar ik al dagen niet uitkom terwijl het niet moeilijk zou moeten zijn. Ik zal het probleem uitleggen aan de hand van een voorbeeld:
Stel, ik heb een platte tabel 'Webwinkels' met tenminste de velden 'ID' (primary key), 'Titel' (tekst), 'Prijs' (waarde), 'Categorie' (tekst), en 'Winkel' (tekst). In die tabel staat het aanbod van enkele webwinkels.
Wat ik al heb is de volgende query:
code:
1
2
3
4
| SELECT ID, Titel, Prijs, Leverancier
FROM Webwinkels
WHERE FIND_IN_SET('Dvd',Categorie) > 0
ORDER BY Titel, Prijs; |
En die levert het volgende resultaat op:
code:
1
2
3
4
5
6
7
8
9
10
| ID Titel Prijs Winkel 1 Beh 14,95 BlahMovies 2 Beh 15,95 MyMovies 3 Beh 21,95 WebMovies 10 Blah 12,95 InterMovies 11 Blah 13,95 WebMovies 12 Woef 11,95 FlutMovies 14 Woef 21,95 BlahMovies 15 Woef 21,95 AlleMovies |
Wat ik wil is dat per unieke "Titel" alleen het record met de laagste prijs wordt getoond. Dus zo:
code:
1
2
3
4
5
| ID Titel Prijs Winkel 1 Beh 14,95 BlahMovies 10 Blah 12,95 InterMovies 12 Woef 11,95 FlutMovies |
En daar kom ik niet uit. Ik heb het met termen als LIMIT en DISTINCT geprobeerd maar dat levert niet het gewenste resultaat op.
In het verleden, toen ik ASP en VBS nog gebruikte, heb ik dit opgelost met wat VBS code die het queryresultaat nog eens filterde maar dat is een lompe oplossing die ik dit keer wil vermijden omdat ik weet dat het beter kan.
Zoeken via Google levert niks op omdat ik niet weet op welk keyword ik zou moeten zoeken. Ik heb al op een boel keywords gezocht maar vind voortdurend dingen die ik niet kan gebruiken of dingen die 2 stappen te complex voor me zijn.
Ik zou al heel blij zijn met een goede zoekterm waarmee ik verder kan Googlen maar helemaal perfect zou natuurlijk een echte oplossing zijn.