sql - count in LEFT JOIN and WHERE -
i have little problem left join want list of designs , on each design want display how many comments each design have.
i using left join
select ds.*, count(com.comment) countcom tdic_designs ds left join tdic_comments com on (com.design_id = ds.id) ds.approved = 1 , ds.hidden = 0 , com.approved = 1 group ds.id order ds.date_added asc
but doesn't work displays 1 design have 1 comment, have 2 designs in table, second design doesn't have comment.
if change sql to
select ds.*, count(com.comment) countcom tdic_designs ds left join tdic_comments com on (com.design_id = ds.id) group ds.id, com.approved, ds.approved order ds.date_added asc
that removing clause. bad select both designs , comments haven't been approved.
what miss / wrong?
move filters on comments on
clause:
select ds.*, count(com.design_id) countcom tdic_designs ds left join tdic_comments com on com.design_id = ds.id , com.approved = 1 ds.approved = 1 , ds.hidden = 0 group ds.id order ds.date_added asc
Comments
Post a Comment