Tabel ziet er zo uit:
De tabel ziet er als volgt uit.

offerte_id vervoerderid prijs

4478 447 477
4478 482 477,40
4478 411 418,70
4478 411 418,70


Ik gebruik onderstaande query:
<?
SELECT min(prijs)AS minprijs, vervoerderid, offerteid, offerteprijzenid FROM offerteprijzen WHERE offerteid = $_GET[offerte_id] GROUP BY prijs
?>


Dit levert:

offerte_id vervoerderid minprijs

4478 411 418,70
4478 447 477
4478 482 477,40

Het enige wat ik wil is dat A) de goedkoopte prijs uitgefilterd wordt B) maximaal 1 record geselecteerd wordt in geval van 2x de zelfde prijs. Wat doe ik fout, anybody??
418,70 ziet er niet uit als een DECIMAL (dus een getal) maar als een stuk tekst. En daar heb je geen ene donder aan. Een DECIMAL eist dat de decimalen door een punt worden gescheiden, geheel volgens de standaard methode om iets met decimalen te doen.

Dat er landen zijn waar men decimalen met een komma WEERGEEFT, staat daar helemaal los van.

Oplossing: Gebruik een DECIMAL(10,2) en gebruik een punt om de decimalen te scheiden.

Edit: Verder is de query ook gewoon fout. Je kunt van een groep (GROUP BY) uitsluitend eigenschappen van de hele groep opvragen en dus niet van een individueel record. Zelfs niet als er slechts 1 record is, dan loop je nog steeds het risico dat er een tweede record bij komt. Het vervoerder_id is zo'n eigenschap die je dus niet kunt opvragen.

MySQL slikt dit helaas wel en doet gewoon een gok naar de gegevens die jij op het scherm wilt hebben. Daar heb je echter niets aan en dit kan per keer verschillen. Gebruik aparte queries om deze gegevens op te vragen.
Frank, thanks voor je antwoord. Alleen heb ik de variabele vervoerder_id nodig om in een andere tabel te kijken welke NAW hierbij horen. Moet dit dan via een subquery ofzo?!

SELECT
  vervoerderid
FROM
  offerteprijzen
WHERE
  prijs = (SELECT min(prijs) FROM offerteprijzen WHERE offerteid = $_GET['offerteid'])

Niet getest, maar hiermee zou het volgens mij moeten lukken. Je hebt wel minimaal MySQL versie 4.1 nodig. Maar dat lijkt mij een algemene eis, met oudere zooi wil je echt niet werken.
Frank, ik bleef maar kloten met de subquery die maar niet wilde werken. Klopt het dat dit komt door MYSQL 4.0.25 op de server????????

check: www.bussite.nl/test.php voor phpinfo()

Reageren