JeppeNMedlem sedan okt. 20015 inlägg Hej!
Jag har lite problem med en sql-fråga.
Det är två stycken tabeller, en med kunder och en med orders.
Jag vill kunna räkna hur många orders det är till varje kund.
Nedanstående kod fungerar men den visar endast kunder som har minst en order.
Hur gör jag om jag vill kunna lista alla kunder, oavsett hur många orders dom har?
$sql = "
SELECT *, kunder.id,
COUNT(kunder.id) AS antal_orders
FROM kunder
INNER JOIN orders ON kunder.id = orders.kund
GROUP BY kunder.id
ORDER BY kunder.id DESC";
cyprysMedlem sedan dec. 20003 563 inlägg Tips1 - INNER JOIN -> LEFT JOIN
Tips2 - COUNT(*) AS antal
JeppeNMedlem sedan okt. 20015 inlägg Tack, det var snabba tips
Jag fick dock ändra count till orders.id så att man får noll som värde om det inte är några orders
Men vad skiljer egentligen Left join från Inner join?
$sql = "
SELECT *, kunder.id,
COUNT(orders.id) AS antal_orders
FROM kunder
LEFT JOIN orders ON kunder.id = orders.kund
GROUP BY kunder.id
ORDER BY kunder.id DESC";