What's wrong with this query:
SELECT co.*, mod.COUNT(*) as moduleCount, vid.COUNT(*) as vidCount
FROM courses as co, modules as mod, videos as vid
WHERE mod.course_id=co.id AND vid.course_id=co.id ORDER BY co.id DESC
In other words, how can I do it so with every record returned from 'courses', there's
an additional column called 'modCount' which shows the number of records in the modules table for that course_id, and another called 'vidCount' which does the same thing for the videos table.
Error:
Error Number: 1064
You have an error in your SQL syntax;
check the manual that corresponds to
your MySQL server version for the
right syntax to use near ') as
moduleCount, vid.COUNT() as vidCount
FROM courses as co, ' at line 1
Best Answer
Using subselects you can do:
But be carefull as this is an expensive query when courses has many rows.
EDIT: If your tables are quite large the following query should perform much better (in favor of being more complex to read and understand).