我正在使用图像上的图像和标签(à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