1

我有 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

4

1 回答 1

2

您需要使用 distinct 来获取图像计数。因为选择的表中有三个相同的图像值

于 2013-07-07T15:02:27.487 回答