У меня есть таблиц с данными о фотографии, таблица с списком лайков от различных пользователей ко всем фотографиям и таблица с комментариями к фотографиям. Мне нужно вывести количество лайков и комментариев к последним 12 фотографиям. Проблема состоит в том что при склейке 3х таблиц количество комментариев и лайков возводится в квадрат
Структура таблиц
comments: id (PK A_I), photoId, userId, text
likes: id (PK A_I), photoId, userId
photos: photoId (PK A_I), name, path
Update: если я захочу добавить дислайки, для них лучше заводить аналогичную лайкам таблицу или добавить столбец (лайк/дислайк) ?
Update2:
SELECT *
FROM `photos`
RIGHT JOIN ( SELECT photoId, COUNT(photoId) as likesCount
FROM likes
GROUP BY photoId) as x
ON photos.photoId = x.photoID
RIGHT JOIN ( SELECT photoId, COUNT(photoId) as commentsCount
FROM comments
GROUP BY photoId) as y
ON photos.photoId = y.photoID
WHERE 1
Нужно было соединять таблицу в подзапросах. Так же использовать LEFT OUTER JOIN.
SELECT *
FROM `photos`
left OUTER JOIN ( SELECT photoId, COUNT(photoId) as likesCount
FROM likes
GROUP BY photoId) as x
ON photos.photoId = x.photoID
left OUTER JOIN ( SELECT photoId, COUNT(photoId) as commentsCount
FROM comments
GROUP BY photoId) as y
ON photos.photoId = y.photoID
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть константа $donate1, которая в итоге выдает STEAM_X:Y:Z, мне надо подсчитать за формулой через PHP Z*2+Y=W и отправить в БД запрос с W, если находит значение-...
lcfirst() не работает для русских символов
В своё время скачал и сделал make/install библиотеки GLPK, лежит это всё/Documents/Libraries/glpk
Пытаюсь научиться обрабатывать записанный с микрофона звук, нашёл пример, но там всё склеено, и непонятно что за что отвечает