Здравствуйте! Сегодня: Чт, 22 Окт 2020, Ваш IP: 3.238.62.144 Войти через loginza
 
Вход | Регистрация | Забыли пароль?
Мой Kbyte.Ru
> Список форумов Kbyte.Ru - - Базы данных
+ Создать новую тему Страница: 1
Тема: ПОМОГИТЕ!!! · +  +x1 дата добавления: 02.06.2012 / 17:26
Автор темы:
kuzichka
kuzichka
тем: 3 / ответов: 1 / благодарностей: 0 / репутация: -2
ответов: 1
создал(а) тем: 3


Занятие 9. SQL: выбор данных из нескольких таблиц - объединения

I. Внутреннее объединение.
1. Построить запрос список фамилий лиц, делавших заказ в текущем месяце. Применить псевдонимы таблиц и уточняющие имена.
2. Перечислить товары, которые проданы за квартал на сумму более 10 тыс. руб.
3. Сгруппировать по месяцам и объемам покупок клиентов, сделавших заказы за полугодие.
4. Отобразить список товаров, между датами заказа и исполнения которых прошло более 3-х дней. Применить в качестве критерия отбора конструкцию WHERE.
II. Объединение таблиц.
1. Создать прямое объединение таблиц ТОВАРЫ и КЛИЕНТЫ. Задать условие отбора – диапазон стоимости товара. (Такой запрос может быть применен для подготовки предложений клиентам некоторых товаров…)
2. Создать естественное объединение – даты, в которые клиенты делали заказы (указать какие конкретно клиенты).
3. Построить естественное объединение трех таблиц.
4. Построить внутренние объединения двух и трех таблиц. Применить оба варианта синтаксиса.

III. Внешнее объединение таблиц.
1. Перечислить клиентов, не сделавших заказов за текущий месяц.
2. Перечислить товары, не приобретенные за последнюю декаду.
3. Привести примеры левого и правого объединения.
Технологии: Microsoft Access

+ SQL.rar (122,32 Кб)  
Ответ # 1 # · +  +  дата добавления: 03.06.2012 / 13:53
Автор ответа:
Алексей Немиро
Алексей Немиро
тем: 534 / ответов: 5130 / благодарностей: 325 / репутация: 211
Чашка Kbyte.Ru>>
Url: aleksey.nemiro.ru
Icq: 261779681
Skype: alekseynemiro
ответов: 5130
создал(а) тем: 534


В чем именно проблема?
Внутреннее объединение
INNER JOIN
в текущем месяце
WHERE DATEDIFF("M", NOW, [поле таблица содержащее дату создания заказа]) = 0
Применить псевдонимы таблиц и уточняющие имена
SELECT [поле таблица] AS [псевдоним] FROM [имя таблицы] AS [псевдоним имени таблицы]
на сумму более 10 тыс. руб.
WHERE [поле содержащее сумму] > 10000
Сгруппировать
SELECT DISTINCT [имена полей таблицы, по которым будет сделана группировка] FROM [таблица]
между датами заказа и исполнения которых прошло более 3-х дней
для всех выборок по датам - это DateDiff (см. пример выше)
Внешнее объединение таблиц.
LEFT JOIN или RIGTH JOIN
 
Страница: 1 + Создать новую тему