Ik ben bezig met een orders/reserveringen systeem. Ik heb alle orders in een lijst bji elkaar en nu wil ik bij elk order de bijbehordende klant ophalen
Ik heb de volgende tabellen:
orders
id|alle gegevens van de order
klant_order
klant|order
klanten
id|alle klantinformatie
Nu loop ik te stoeien met de volgende query
<?php
$sql_ktp = "SELECT
o.oid,
o.datum,
DATE_FORMAT(o.van, '%d-%c-%Y') AS van_d,
DATE_FORMAT(o.van, '%H:%i:%s') AS van_t,
DATE_FORMAT(o.tot, '%d-%c-%Y') AS tot_d,
DATE_FORMAT(o.tot, '%H:%i:%s') AS tot_t,
o.locatie,
o.personen,
o.prijs,
CASE
WHEN o.beves = 0 THEN 'good'
WHEN o.beves = 1 THEN 'wrong'
ELSE 'Onbekend'
END
AS beves,
CASE
WHEN o.betaald = 0 THEN 'good'
WHEN o.betaald = 1 THEN 'wrong'
ELSE 'Onbekend'
END
AS betaald,
ko.order,
ko.klant,
k.id,
k.naam
FROM
orders AS o,
klant_order AS ko,
klanten AS k
ORDER BY
'$sort'
LIMIT
".$offset.",".$messagePerPage;
?>
Nu heb ik maar 2 klanten en 3 orders in mijn database staan. Alleen met deze query weet hij het te presteren dat hij per klant alle 9 de mogelijkheden uitspuugt. Er komt dus 6 keer hetzelfde ordernummer voor.
Dat klopt niet. Er is iets mis met deze query maar ik kom er echt niet naar uit. Toen ik het met een INNER JOIN probeerde was het één grote ramp. Ik kreeg de syntax error er niet uit.
Wie weet de oplossing?
edit: Ik wil uiteindelijk ook op klant kunnen ordenen. Vandaar dat ik het in één query wil
1.270 views