I have two tables, a vehicle
table with columns:
id
stock
year
make
In the way the anser suggests, you get repeated values of "vehicle". A better way, is to group results. Try without the JOIN :
SELECT
`vehicle`.`id`,
`vehicle`.`stock`,
`vehicle`.`year`,
`vehicle`.`make`,
`vehicle`.`model`,
`images`.`name`,
(
SELECT COUNT(*)
FROM `images`
WHERE `vehicle_id` = `vehicle`.`id`
) AS `image_count`
FROM `vehicle`
WHERE `images`.`default`