2013-07-07 30 views
1

我有3個表格行程(trip_id,trip_name),事件(event_id,trip_id,event_name)和圖像(image_id,trip_id,image_name)。在同一主鍵上加入3個表格

我想加入所有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` 

有1個行程爲USER_ID =「9」和1的圖像和對應於它3個事件。我得到3作爲'image_count'而不是1

回答

2

您需要使用distinct來獲取圖像數量。因爲所選表格中有三個相同的圖像值

+0

感謝使用不同的工作。我是否應該使用任何其他連接,以便每行只有一行? – user2558251