@KuzmenkoArtem

Задачка по mysql?

Есть таблица с пользователями id и email
Есть таблица с публикациями - в этой таблице есть поле (publicated_to) которое указывает до которого момента публикация будет видна на сайте

Нужно одним запросом вытащить что то вроде этого
| email | id_post | days left |
--------------------------------------------------------------------------------
| petr@gmail.com | 5 | 5 |
| ivan@gmail.com | 8 | 2 |

days left - указывает сколько дней еще будет видна публикация. Эту колонку нужно сгенерировать ее в таблице нет
Я не знаю возможно ли такое вообще
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
@nirvimel
Что-то типа такого?
select a.email as email, p.id_post as id_post, (p.publicated_to - NOW()) as days_left
    from publications as p inner join authors as a on p.author_id = a.id
    where p.publicated_to > NOW()
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А каким образом связаны эти таблицы? В общем случае такие запросы строятся с использованием JOIN по полю связи.
Ответ написан
Комментировать
Melkij
@Melkij
PostgreSQL DBA
select u.email, p.post_id, TIMESTAMPDIFF(DAY, p.publicated_to, now())
from users u
join posts p ON user_id =u.id

https://dev.mysql.com/doc/refman/5.6/en/date-and-t...
Ответ написан
Комментировать
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
JOIN по общему полю, days_left получите вычтя now() из publicated_to
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы