Задать вопрос
@ArtyomPLAY
Люблю Vue, React и все что с этим связано.

Как сделать sql запрос из одной таблицы с условием из другой?

Есть 2 таблицы: posts(скрин 1 ) и actions(скрин 2)
COcEgJAttrU.jpgbCB09tuHZKc.jpg
action_type хранит опеределенный битовый код в зависимости от совершенного с постом действия(напр. лайк, репост).
Нужен запрос , который из posts берет посты с posts.authors_id = например 8, а также посты с posts.d = actions.post_id, причем actions.post_id берется только из тех строк, где action_type = 1(для примера) и user_id = 8. Пробовал много разных запросов, но то ошибки сыпятся, то выводятся по несколько одинаковых строк.
  • Вопрос задан
  • 411 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
@luna3956
Если правильно понял что Вам нужно, то так:

select *
from posts p
left join (
  select post_id
  from actions a
  where
      a.user_id = 8 and
      a.action_type = 1
) a on
    a.post_id = p.id
where
    p.author_id = 8 or
    a.post_id is not null
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы