Программирование >>  Исключение дубликатов строк 

1 ... 78 79 80 [ 81 ] 82 83 84 ... 152


(Выбрать имена и фамилии клиентов из тех, которые являются общими для множества клиентов, заказавших велосипеды, и множества клиентов, заказавших шлемы)

Преобразование 2/ Select customer first name mte customer last name from Уточнение: (Select unique customer names from 4he customers table

joined with the orders table on customer ID, fteft joined with the order details table on order number, then joined with the products table on product number where product name contains LIKE %Bike) joined with (Select unique customer names from the customers table joined with the orders table on customer ID, then joined with the order details table on order number, then joined with the products table on product number where product name contains LIKE %Helmet) on customer ID

(Выбрать имена и фамилии клиентов из (Выбрать уникальные имена клиентов из Клиенты , соединенной с Заказы по идентификатору клиента, соединенной с Детали заказа по номеру заказа, соединенной с Товары по номеру товара, где наименование товара соответствует шаблону %Bike), соединенной с (Выбрать уникальные имена клиентов из Клиенты , соединенной с Заказы по идентификатору клиента, соединенной с Детали заказа по номеру заказа, соединенной с Товары по номеру товара, где наименование товара соответствует шаблону %Helmet) по идентификатору клиента)

SQL SELECT CustBikes.CustFirstName,

CustBlkes.CustLastName FROM

(SELECT DISTINCT Customers.CustomerlD,

Customers.CustFirstName,

Customers.CustLastName FROM ((Customers INNER JOIN Orders

ON Customers.CustomerlD = Orders.CustomerlD) INNER JOIN Order Details

ON Orders.OrderNumber = OrderDetails.OrderNumber)

INNER JOIN Products

ON Products.ProductNumber =

OrderDetails.ProductNumber WHERE Products.ProductName LIKE XBike)



AS CustBikes INNER JOIN

(SELECT DISTINCT Customers.CustomerlD FROM ((Customers INNER JOIN Orders

ON Customers.CustomerlD = Orders.CustomerlD) INNER JOIN Orderjetails

ON Orders.OrderNumber = Order Details.OrderNumber)

INNER JOIN Products

ON Products.ProductNumber =

Order Details., ProductNumber WHERE Products.ProductName LIKE %Helmet) AS CustHelmets

ON CustBikes.CustomerlD = CustHelmets.CustomerlD

Внимание! Второй вложенный оператор SELECT был упрощен и извлекал только идентификатор клиента, потому что только этот столбец необходим для работы INNER JOIN по двум множествам. Фактически можно было исключить JOIN с таблицей Customers (Клиенты) и извлечь CustomerlD из таблицы Orders (Заказы). Эту проблему можно было также решить как INTERSECT двух множеств, но при этом потребовалось бы включить все выводимые столбцы в оба набора результатов, которые использовались при пересечении.

Customers Both Bikes Ппс1 Helmets


(24 строки)

Suzanne

Viescas

Will

Ihompson

(fury

Hallmark

Micliae!

Davolio

Kenneth

Peacock

John

Viescas

laum

Callahan

Neil

Pattcriion

Margaret

Peacock

остальные строки

База данных агентава эстрадных ллероприйтий

List the entertainers who played engagements for both customers Bonnicksen and Rosales .

( Привести список эстрадных артистов, отыгравших ангажементы как для клиента Бонниксен, так и Росалес .)

Получить решение для Бонниксен или Росалес легко. Зададим запрос другим образом, чтобы было более понятно, что требуется сделать базе данных.



Find all the entertainers who played an engagement for Bonnicksen, then find all the entertainers who played an engagement for Rosaies, and finally list the common entertainers so we know who played an engagement for both .

( Найти всех эстрадных артистов, отыгравших ангаэюемент для Бонниксен, затем всех эстрадных артистов, отыгравших ангаоюемент для Росалес, и, наконец, привести список общих эстрадных артистов, чтобы узнать, кто отыграл ангаоюементы для обоих клиентов .)

Преобразование 1: Select entertainer stage name from those common to the

set of entertainers who played for Bonnicksen and the set of entertainers who played for Rosaies (Выбрать псевдонимы эстрадных артистов, которые являются общими для множества эстрадных артистов, игравших для Бонниксен, и для множества эстрадных артистов, игравших для Росалес)

Преобразование 2/ Select entertainer stage name from (Select unique distinct Уточнение: entertainer stage names from the entertainers table joined

with the engagements table on entertainer ID, thett joined with the customers table on customer ID where customer last name = Bonnicksen) joined with (Select unique distinct entertainer stage names from the entertainers table joined with the engagements table on entertainer ID, then- joined with the customers table on customer ID where customer last name ts = Rosaies) on entertainer ID

(Выбрать псевдонимы эстрадных артистов из (Выбрать неповторяющиеся псевдонимы из Эстрадные артисты , соединенной с Ангажементы по идентификатору

эстрадного артиста, соединенной с Клиенты по идентификатору клиента, где фамилия клиента == Бонниксен) соединенной с (Выбрать неповторяющиеся псевдонимы из Эстрадные артисты , соединенной с Ангажементы по идентификатору эстрадного артиста, соединенной с Клиенты по идентификатору клиента, где фамилия клиента = Росалес) по идентификатору эстрадного артиста)

SQL SELECT EntBonnicksen.EntStageName

FROM

(SELECT DISTINCT Entertainers.EntertainerlD, Entertainers.EntStageName



1 ... 78 79 80 [ 81 ] 82 83 84 ... 152

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика