Я пытаюсь выбрать данные из 4 таблицы (последняя таблице нужна считать данные)Добавить еще одну таблицы для запроса и сосчитать данные SQL
Моей MySQL таблица структуры
пользователей
id
username
изображения
id
user_id
image
user_follow
id
user_id
follow_id
комментарии
id
user_id
image_id
text
Я получил этот SQL-запрос:
$sql = "SELECT u.username as user, i.image as user_image, p.image, p.date
FROM users u
LEFT JOIN user_follow f ON u.id = f.follow_id
LEFT JOIN images p ON p.user_id = u.id
LEFT JOIN images i ON i.id = (SELECT b.id FROM images AS b where p.user_id = b.user_id ORDER BY b.id DESC LIMIT 1)
WHERE f.user_id = 3 OR p.user_id = 3
ORDER BY p.date DESC";
Эта линия тока возврата ОЯ (последнее изображение)
LEFT JOIN images i ON i.id = (SELECT b.id FROM images AS b where p.user_id = b.user_id ORDER BY b.id DESC LIMIT 1)
он возвращает все изображения из я и мои друзья
[0] => Array
(
[user] => 8888
[user_image] => second.jpg
[image] => second.jpg
[date] => 2012-01-24 14:42:27
)
[1] => Array
(
[user] => 8888
[user_image] => second.jpg
[image] => first.jpg
[date] => 2012-01-24 14:42:27
)
[2] => Array
(
[user] => 3333
[user_image] => ax46l7v7vugnesk10whk_339.jpg
[image] => ax46l7v7vugnesk10whk_339.jpg
[date] => 2012-01-24 01:54:19
)
[3] => Array
(
[user] => 3333
[user_image] => ax46l7v7vugnesk10whk_339.jpg
[image] => aaaaaaaa.jpg
[date] => 2012-01-24 01:49:57
)
Я пытался добавить
left join commentaries c ON c.user_id = u.id
и результат был
[2] => Array
(
[user] => 3333
[user_image] => ax46l7v7vugnesk10whk_339.jpg
[image] => ax46l7v7vugnesk10whk_339.jpg
[date] => 2012-01-24 01:54:19
[id] => 1
)
[3] => Array
(
[user] => 3333
[user_image] => ax46l7v7vugnesk10whk_339.jpg
[image] => ax46l7v7vugnesk10whk_339.jpg
[date] => 2012-01-24 01:54:19
[id] => 2
)
[4] => Array
(
[user] => 3333
[user_image] => ax46l7v7vugnesk10whk_339.jpg
[image] => aaaaaaaa.jpg
[date] => 2012-01-24 01:49:57
[id] => 1
)
[5] => Array
(
[user] => 3333
[user_image] => ax46l7v7vugnesk10whk_339.jpg
[image] => aaaaaaaa.jpg
[date] => 2012-01-24 01:49:57
[id] => 2
)
Дубликат пользователя, если он есть комментарии (кстати [пользователь] => 3333 имеют 2 комментарии в примере)
Я пытаюсь добавить еще один комментарий «комментариев» и подсчитать, сколько комментариев имеет каждое изображение (от меня и моих друзей), если нет комментариев с таким $ user_id, а затем возвращает 0
Это не похоже, что комментарии связаны с изображениями. В таблице 'commentaries' должен быть столбец' image_id'. – piotrm
Вы правы, я добавил в свою базу данных еще одно поле image_id, но до сих пор не знаю, как добавить «комментарии» в таблицу и подсчитать изображения – Viktors