Ik groepeer de product.ean omdat ik geen dubbele wil ophalen, maar nu wil ik de laagste prijs hebben van de dubbele product.ean.

Deze code zou moeten werken maar ligt het misschien aan hoe ik de prijs heb opgeslagen? VARCHAR?


$esql = "SELECT EAN.ean, EAN.merk, EAN.model, product.ean, MIN(product.prijs) as miniprijss FROM EAN INNER JOIN product ON product.ean = EAN.ean GROUP by product.ean ORDER by merk, model ASC";
Ja, prijzen moet je niet als VARCHAR opslaan, maar als DECIMAL.
Dan kan je ermee rekenen.
Beter een DECIMAL
Sorrie
Daar is group by niet voor.

Bij-effect is in een simpele query mogelijk wel dat dubbelingen verdwijnen, maar daarvoor zou je DISTINCT moeten gebruiken.
Maar ook dat pas nadat blijkt dat je query of data opslag echt niet beter kan.

Ps:
Waarom zet iedereen toch zo graag query's op 1 regel? Is overzichtelijkheid in sql strafbaar?
Ik hoop het niet, dan zit ik constant op de strafbank ;-)

Reageren