我有3次旅行(trip_id,trip_name),事件(event_id,trip_id,event_name)和图像(image_id,trip_id,image_name)。
我想加入所有3个表来获取所有旅行的事件和图像。以下是我使用的查询
SELECT `trips`.`trip_id`,`trips`.`name`, COUNT(`images`.`image_id`) as
`image_count`, COUNT(`events`.`event_id`) as `event_count` FROM
`trips` LEFT JOIN `images` ON `trips`.`trip_id` =
`images`.`trip_id` LEFT JOIN `events` ON `trips`.`trip_id` =
`events`.`trip_id` WHERE `trips`.`user_id` = "9" GROUP BY
`trips`.`trip_id`
user_id =“9”有1次旅行,1个图像和3个事件对应。我得到3作为'image_count`而不是1
答案 0 :(得分:2)
您需要使用distinct来获取图像数量。因为所选表格中有三个相同的图像值