|
Программирование >> Исключение дубликатов строк
Привести список штатных сотрудников и количество курсов лекций, которое каоюдый из них запланировал для прочтения, для тех штатных сотрудников, которые преподают по крайней мере один, но менее трех курсов лекций . Привести список рецептов, содерэ/сащих как говядину, так и чеснок . Подсчитать общее количество соли по видам рецептов и вывести на экран те виды рецептов, которые требуют более трех чайных ложек . Для какого типа рецептов имеется два или более рецептов? Примеры операторов Теперь ознакомимся с множеством примеров, для которых вначале требуется группирования информации, а затем фильтрация по составному значению для группы. Они взяты из каждой учебной базы данных. Сюда также включены примеры наборов результатов, которые должны воз-враш,ать эти операции. Они располагаются сразу же после записи строк SQL. Имя, которое появляется непосредственно над набором результатов, присвоено каждому запросу в учебной базе данных. Каждый запрос сохранен в соответствующем примере базы данных во вложенной папке Chapter 14 на сайте издательства Лори . Чтобы загрузить примеры на свой компьютер и проверить их, следуйте указаниям, приведенным в начале этой книги. Внимание! Все имена столбцов и таблиц, используемые в этих примерах, взяты из учебных структур баз данных, представленных в приложении В. Для упрощения процесса этапы преобразования и уточнения объединены. Предполагается, что вами тщательно изучены и поняты концепции, рассмотренные в предыдушлх главах, особенно в главах по JOIN и подзапросам База данных заказов на закупку List for each customer and order date the customer full name and the total cost of items ordered that is greater than $1,000 . ( Привести список всех клиентов и даты их заказов, полное имя клиента и общую стоимость заказанных позиций, которая превышает 1000 долларов .) Преобразование/ Select customer first name and l customer last name Уточнение: as CustomerFullName, ordered date, and the sum of (quoted price times * quantity ordered) as TotalCost from customers table ioined with the orders table on customer ID, and then joined with the order details table on order number, grouped by customer first name, customer last name, ttne order date, having the sum of (quoted price times * quantity ordered) greater than > 1000 (Выбрать имя клиента * Ч1> фамилию клиента как CustomerFullName, дату заказа, sum(oбъявлeннaя цена заказанное количество) как TotalCost из Клиенты , соединенной с Заказы по идентификатору клиента, соединенной с Детали заказа по номеру заказа, сгруппированные по имени клиента, фамилии клиента, дате заказа, имеющие sum(oбъявлeннaя цена * заказанное количество) > 1000) SELECT Customers.CustFirstName Customers.CustLastName AS CustFullName, Orders.OrderDate, SUM(Order.Details.QuotedPrice * Order.Details.QuantityOrdered) AS TotalCost FROM (Customers INNER JOIN Orders ON Customers.CustomerlD = Orders.CustomerlD) INNER JOIN Order..Details ON Orders.OrderNumber = Order.Details.OrderNumber GROUP BY Customers.CustFirstName, Customers.CustLastName, Orders.OrderDate HAVING SUM(Order.Details.QuotedPrice * Order..Details.QuantityOrdered) > 1000 Ordcr TotQls Bv Customcr flnd DQtc GT1000 (649 строк)
База данных агентства эстрадных мероприятий Which agents booked more than $3000 worth of business in December 1999? ( Какие агенты сделали заявок более чем на 3000 долларов в декабре 1999г.? ) Преобразование/ Select the agent first name, agent last name, and the sum Уточнение: of (contract price) as TotalBooked from the agents-tafek oined with the engagements table on agent ID where the engagement start date ts between December 1, 1999, 1999-12-0Г and December 31, 1990, 1999-12-ЗГ laving the sum trf (contract price) greater than > $3000 (Выбрать имя агента, фамилию агента, sum (цена контракта) как TotalBooked из Агенты , соединенной с Ангажементы по идентификатору агента, где дата начала ангажемента между 1999-12-0Г и 1999-12-ЗГ, имеющие sum (цена контракта) > $3000) SELECT Agents.AgtFirstName, Agents.AgtLastName, SUM(Engagements.ContractPrice) AS Total Booked FROM Agents INNER JOIN Engagements ON Agents.AgentlD = Engagements.AgentlD WHERE Engagements.StartDate BETWEEN 1999-12-Or And 1999-12-31 GROUP BY Agents.AgtFirstName, Agents.AgtLastName HAVING SUM(Engagements.ContractPrice) > 3000 flgcnts Book Ovcr 3000 12 99 (4 строки) (iregory I I-icrc\ Margaret Mar У Peacock Fuller $4. 85.00 а > v> :< : Will Tliompson $7,1 20л M 4W M База данных лиги игры в боулинг List the bowlers whose highest raw score is at least 2 pins higher than their current average . (Привести список игроков в боулинг, для которых наибольшее среднее предварительное количество очков по крайней мере на 20 кеглей больше, чем их текущее среднее значение .)
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |