Citat:
Originally posted by grazzy@Aug 13 2005, 01:24
Det brukar man lösa med LEFT JOINS vs INNER JOINS.. Du använder nu en innerjoin, det innebär att raden bara visas om det finns ett fält i båda tabellerna du joinar som stämmer. En left tar alltid med om det finns något i den vänstra.
Hmm, jag inser just att mina benchmarks visar resulta tvärtom mot all vedertagen kunskap. Kan någon vara snäll att peka ut vad jag har gjort för fel, eller uppvisa resultat som påvisar annorlunda?
|
Ja just ja, jag tänkte inte på att det faktiskt är en JOIN eftersom det inte står JOIN någonstans i queryn

Så här skrev jag nu:
Kod:
SELECT c.*, count(p.product_id) category_product_count
FROM shop_category c
LEFT JOIN shop_product p
ON c.category_id = p.category_id
GROUP BY c.category_id
och det bör fungera bra... (har inte provat ännu dock, men räknar med nemas problemas).