@allright167

Исправить ошибку в запросе. Какая ошибка может быть?

Не пойму где ошибка, хочу вывести список людей которые не сдали книги в течении 10 дней. В результате выводит всех.

SELECT date_due_for_return, users_user_id, date_issued, date_returned
FROM Books_out_on_loan
INNER JOIN users ON users.user_id = Books_out_on_loan.Users_user_id
WHERE data_issued +10 < curdate() AND date_returned is null;
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
data_issued + 10 < curdate()
Что вы хотели здесь сделать?
Во-первых, прибавлять число к дате беcсмыссленно, надо прибавлять (или вычитать) специальную величину - интервал. Во-вторых, чтобы была возможность использовать индекс, надо менять не значение поля, а то, с чем его сравниваем.
`date_issued` < CURDATE() - INTERVAL 10 DAY
Ответ написан
@khalmurad
PHP dev
SELECT b.date_due_for_return, 
b.users_user_id, 
b.date_issued, 
b.date_returned, 
CONCAT(u.first_name, ' ', u.last_name) AS user_full_name 
FROM Books_out_on_loan AS b 
LEFT JOIN users AS u ON u.user_id = b.Users_user_id 
WHERE b.date_issued + 10 < CURDATE() AND b.date_returned IS NULL;
Ответ написан
Ваш ответ на вопрос

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

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