Доброго времени суток!
Мне нужно получить строку "A" из БД и добавить в нее один параметр "like" желательно с bool обозначением есть ли строка по условию из другой таблицы.
Вот я получаю строку "A":
SELECT posts.*, users.nickname, users.avatar
FROM posts, users
WHERE posts.type='prose'
AND posts.status=4
AND posts.deleted=0
AND users.id = posts.author
ORDER BY created_at DESC;
Вот получение параметра like :
SELECT * FROM likes WHERE user=? AND post=?;
Этот запрос я хочу добавить к первому и получить его в виде like: 0 или 1 ... либо же строку из бд.
Более наглядный пример : есть таблица posts, user, likes
posts:
user:
likes:
В каждом запросе мне надо объединить posts и user. (Это я делаю в первом запросе где получаю строку "A").
И если есть параметр в likes равный likes.post = posts.id то добавить его... Хотелось бы вообще получать что-то типо bool 0 или 1 в зависимости от того есть ли такие данные в likes.
в итоге я хочу получить ответ такого типа :
{
/// все параметры из posts
nickname: ***
avatar: ***
like: 1 or 0
}
Буду очень благодарен за помощь!
Формально это будет что-то типа
SELECT posts.*,
users.*,
EXISTS ( SELECT NULL
FROM likes
WHERE likes.user = posts.author -- или users.id
AND likes.post = posts.id ) like_exists
FROM posts
JOIN users ON users.id = posts.author
WHERE ...
ORDER BY ...
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть несколько таблиц: user admin clientЗдесь указываются роли и создаются отдельные аккаунты для них
База данных Mysql не верно показывает время, получаю командой SELECT NOW();
Подскажите, пожалуйста, правильный вариант реализации клиент-серверного взаимодействия (если это можно таковым назвать)
Здраствуйте подскажите что лучше и в чем разница? Скачать Open Server или скачать все ручно MySQL PHP Apache