Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 116

Правильный синтаксис запроса

16.05.2017, 12:53. Показов 835. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Есть задача такого формата:
Есть три таблицы в базе данных:

purchases:
- id - ID покупки
- price - сумма чека
- user_id - ID пользователя
- purchase_date - время и дата пробития чека

purchase_positions:
- id - ID строки чека
- purchase_id - ID покупки
- product_id - ID товара
- quantity - количество (в ед. измерения) данного товара в этой строке чека

products:
- id - ID товара
- name - наименование (строка)
- sku - SKU товара (строка)

Необходимо написать запрос, который бы выбрал список уникальных клиентов, которые совершили покупку с 2015-04-01 11:00 по 2015-05-16 12:00,
при этом в чеках должен иметься хотя бы один товар с SKU 'AAA', 'BBB' или 'CCC'.

Мое решение выглядит так:
SQL
1
2
3
4
5
SELECT DISTINCT pur.user_id
FROM purchases pur
INNER JOIN purchase_positions pur_pos ON pur.id = pur_pos.purchase_id
INNER JOIN products pr ON pur_pos.product_id = pr.id
WHERE (pur.purchase_date BETWEEN 2015-04-01 11:00 AND 2015-05-16 12:00) AND ((pr.sku = 'AAA') OR (pr.sku = 'BBB') OR (pr.sku='CCC')) AND (pur_pos.quantity>=1)
Правильно ли все записано?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.05.2017, 12:53
Ответы с готовыми решениями:

Синтаксис запроса
Добрый день! Помогите пожалуйста с текстом запроса. Нужно удалить записи из таблицы Table, число которых в группировке по полю Field1...

Синтаксис SQL запроса
Здравствуйте! Подскажите пожалуйста ошибку в данном запросе на обновление? Выкидывает исключение-"неправильный синтаксис около...

Синтаксис SQL запроса
'UPDATE Sklad INNER JOIN Korzina ON .=Korzina. SET Sklad.Kolvo = .-. WHERE (((.)=Korzina.))'; не хочет рабоать не в какую пожалуйста...

2
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
16.05.2017, 13:36
Цитата Сообщение от endicator Посмотреть сообщение
BETWEEN 2015-04-01 11:00
Представление даты зависит от СУБД (которую ты не огласил), но в любом случае не так. Как только появляется пробел, СУБД считает, что литерал закончился. Поэтому по крайней мере твоя дата со временем д.б. в кавычках или в иных ограничителях (хотя иногда и этого недостаточно).
1
0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 116
16.05.2017, 13:39  [ТС]
в остальном - правильно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.05.2017, 13:39
Помогаю со студенческими работами здесь

Подскажите правильный синтаксис для запроса в источнике данных
Есть поле со списком в форме. Мне надо, чтобы в этом поле отображались только данные из таблицы, полученные запросом, который содержит...

Не правильный синтаксис в цикле
for n=1 to 10 Set базаДанных = CurrentDb запрос = "SELECT * FROM ОстаткиТекВыбработка WHERE >0;" Set результатЗапроса =...

Синтаксис запроса
Здравствуйте! Помогите пожалуйста с синтаксисом. Нужен sql запрос источником данных которого является таблица, название которой...

Синтаксис запроса в VBA
Пытаюсь сделать запрос на изменение полей таблицы Оплата. Возникает ошибка "Run-time error 3144". Весь запрос помечается желтым, а...

Какой синтаксис запроса пересечения?
В Accesse мне нужно объединить две таблицы,в результате чего будут выводится общие данные. Какой синтаксис intersection? Ввожу следующее:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru