Работа вам нужна срочно. Не волнуйтесь, уложимся!
- 22423 авторов готовы помочь тебе.
- 2402 онлайн
исправить
Предмет: Базы данных
Раздел: SQL, работа с запросами (JOIN, фильтрация по дате)
SELECT
необходимо явно указать таблицы перед полями, чтобы избежать неоднозначности.WHERE
отсутствует фильтр по конкретному лекарству.CURDATE0()
— ошибка, правильная функция CURDATE()
.SELECT Лекарства.название, Продажи.дата_продажи, Продажи.цена_продажи
FROM Лекарства
INNER JOIN Продажи ON Лекарства.код_лекарства = Продажи.код_лекарства
WHERE Продажи.дата_продажи >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
AND Лекарства.название = 'Название_лекарства';
AND Лекарства.название = 'Название_лекарства'
, чтобы выбрать конкретное лекарство.CURDATE0()
, заменена на CURDATE()
.Лекарства.название
, Продажи.дата_продажи
, Продажи.цена_продажи
).DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
корректно вычисляет дату месяц назад.Теперь запрос корректно выбирает все продажи определённого лекарства за последний месяц. 🚀