我正在使用圖像上的圖像和標籤(àla Facebook)的網站上工作。圖像在相冊中。有多個連接的多個計數
數據庫結構的重要位如下
user: id INT
album: id INT, user_id INT
photo: id INT, album_id INT
tag: id INT, photo_id
我試圖得到一個電話的工作是會回來,給定一個USER_ID,相冊ID,在該照片的總數專輯,以及該專輯中的全部標籤。
它工作得很好,以獲得總照片或總標籤,但不是兩個。在這種情況下,它會返回兩次標籤總數。
以下是我的SQL調用:
SELECT album.id, COUNT(photo.id), COUNT(tag.id)
FROM album
LEFT OUTER JOIN photo ON (album.id = photo.album_id)
LEFT OUTER JOIN tag ON (photo.id = tag.photo_id)
WHERE album.user_id = 123 GROUP BY album.id
ORDER BY album.id DESC LIMIT 0,25
任何想法如何,我可以做得更好?
你真的加入到照片的兩倍,或者是一個錯字? – podiluska 2012-08-17 11:15:12
類似的問題:[MySQL多個SUM返回相同的值](http://stackoverflow.com/questions/11787323/mysql-multiple-sum-returning-same-value) – 2012-08-17 11:18:03
@ podiluska是的,錯字! – Richard 2012-08-17 11:28:08