Задание 4. Для каждого товара отобразить сведения о самом крупном его заказе: количество заказанного товара и номер заказа.



Указания к выполнению:

1. Для выполнения задания необходимо использовать внутреннее соединение таблиц Product и SalesOrderDetail, а также связанный подзапрос, возвращающий для каждого товара его максимальный заказ.

2. В запросе нам потребуется работа с таблицей SalesOrderDetail как во внешнем запросе, так и во внутреннем связанном подзапросе. Поэтому для данной таблицы мы создадим два псевдонима: od1 и od2.

3. Результирующий код будет выглядеть следующим образом:

 

SELECT Name, OrderQty, SalesOrderID

FROM Production.Product p INNER JOIN Sales.SalesOrderDetail od1

ON od1.ProductID=p.ProductID

WHERE OrderQty = (SELECT Max(OrderQty)

FROM Sales.SalesOrderDetail od2

WHERE od1.ProductID=od2.ProductID)

 

Задание 5. Определить количество различных товаров в каждом заказе.

Указания к выполнению:

1. Необходимо сгруппировать записи с одинаковым идентификационным номером заказа SalesOrderID и подсчитать количество записей в каждой группе по полю ProductID. Для этого можно использовать следующий запрос:

 

SELECT SalesOrderID, count(ProductID) AS [Количество]

FROM Sales.SalesOrderDetail

GROUP BY SalesOrderID

Замечание. При использовании GROUP BY для каждой определенной группы значений выводится только одна запись в итоговом наборе данных.

 

2. Если для каждого заказа еще необходимо подсчитать и общее количество товаров в заказе, то запрос должен быть дополнен:

 

SELECT SalesOrderID,

count(ProductID) AS [Количество],

sum(OrderQty) as [Общее количество]

FROM Sales.SalesOrderDetail

GROUP BY SalesOrderID

Замечание. При группировке записей допускается также использование раздела WHERE, в этом случае группируются записи, удовлетворяющие этому условию.

 

Самостоятельная работа

 

1. Определить количество сотрудников компании в базе данных AdventureWorks2008.

 

2. Подсчитать максимальную стоимость доставки заказов.

 

3. Вывести список товаров, цена которых выше средней цены.

 

4. Решить данную задачу с использованием объединения таблиц.

 

5. Для каждого товара отобразить сведения о самом крупном его заказе: наименование, количество и номер заказа.

Указание: используйте группировку по наименованию товара и номеру заказа.

 

6. Вывести список товаров, на которые поступило более 50 заказов.

 

7. Получить список только тех товаров, чье суммарное количество по заказам превышает 500 штук.

 

8. Определить 10 товаров, наиболее популярных у заказчиков. Решение задачи оформить в виде хранимой процедуры.

 

9. Определить общее количество и суммарную стоимость всех заказов для каждого заказчика.

 

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

 

11. Выяснить, товары какого типа пользуются у заказчиков наибольшим спросом.


Дата добавления: 2020-11-27; просмотров: 368; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!