dimitrius86
@dimitrius86
Сисадмин. Немного программирую.

Как выбрать из базы текущую дату + 5 дней в SQL?

Здравствуйте господа!

Подскажите, пожалуйста.
Необходимо выбрать только тех пользователей, кто записан на приём на 5 дней вперёд.

Вот сам запрос:

SELECT patients.fio, patients.number_phone, 
    appointment.date_of_appointment, 
    appointment.time_of_appointment 
    FROM appointment
    INNER JOIN patients 
    WHERE DATE_ADD(CURDATE(), INTERVAL 5 day) >= appointment.date_of_appointment
    AND patients.user_id = appointment.user_id;

Но выводятся все записи, которые и старше и младше текущей даты.

Как правильно построить запрос чтобы показывались записи по принципу текущаяДата + 5 дней?
Спасибо.
  • Вопрос задан
  • 120 просмотров
Решения вопроса 1
DS28
@DS28
Аналитик (недоматематик, недопрограммист)
Ну всё же правильно делаете)) Но не до конца.

CURDATE+5 больше, чем date_of_appointment
Это значит date_of_appointment меньше чем CURDATE+ 5.

А как же отсечь прошедшие дни? Нужно ещё date_of_appointment > CURDATE
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@d-stream
Готовые решения - не подаю, но...
Ну так условие-то, если его более тщательно выразить словами, должно звучать как
"находящиеся между текущей датой и датой на 5 дней больше"

то есть как минимум два сравнения или between

p/s/ обычно удобнее оперировать чем-либо типа datediff - есть разницей в днях и там более явно видно что надо "от нуля до 5 дней"
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
Badoo Development Москва
от 140 000 до 180 000 руб.
Badoo Development Москва
от 180 000 до 250 000 руб.
Делис Инфо Москва
от 70 000 до 80 000 руб.
20 авг. 2018, в 21:21
30000 руб./за проект
20 авг. 2018, в 20:46
5000 руб./за проект
20 авг. 2018, в 20:38
700 руб./в час