SELECT COUNT(DISTINCT `p`.`id`)
FROM `products` AS `p`
JOIN `products_to_tag` AS `p2t` ON `p`.`id` = `p2t`.`product_id`
JOIN `city` AS `c` ON `c`.`id` = `p`.`city_id`
Where
`p`.`publish` = 1
AND `p2c`.`tag_id` IN (917, 918, 919, 920, 921)
AND (`c`.`id` = 108 OR `c`.`parent_id` = 108)