|
Программирование >> Исключение дубликатов строк
FROM (Entertainers INNER JOIN Engagements ON Entertainers.EntertainerlD = Engagements.EntertainerlD) INNEft JOIN Customers ON Customers.CustomerlD = Engagements.CustomerlD WHERE Customers.CustLastName = Bonnicksen) AS EntBonnicksen INNER JOIN (SELECT DISTINCT Entertainers.EntertainerlD, Entertainers.EntStageName FROM (Entertainers INNER JOIN Engagements ON Entertainers.EntertainerlD = Engagements.EntertainerlD) INNER JOIN Customers ON Customers.CustomerlD = Engagements.CustomerlD WHERE Customers.CustLastName = Rosales) AS EntRosales ON EntBonnicksen.EntertainerlD = EntRosales.EntertainerlD Внимание! Это другой пример запроса, который также можно решить с INTERSECT. €ntertoifiers 6onnickscn flncl Rosoles (4 строки) База данных расписания занятий Show те the students and teachers who have the same fist name . ( Показать студентов и преподавателей с одинаковыми именами .) Katherinc Ehrlich xiay Julia Sc Преобразование/ Уточнение: Select student full name ane staff full name from fte students table joined with the staff tebte on first name (Выбрать полное имя студента, полное имя преподавателя из Студенты , соединенной с Персонал по имени) SELECT (Students. StudFirstName Students.StudLastName) AS StudFullName, (Staff. StfFirstName Staff.StfLastName) AS StfFullName FROM Students INNER JOIN Staff ON Students.StudFirstName = Staff.StfFirstName Students.StQff.Some.FirstNQme (5 строк)
Бозо донных лиги игроков в боулинг Find the bowlers who had a raw score of 170 or better at both Thunderbird Lanes and Bolero Lanes , ( Найти игроков в боулинг с предварительным количеством очков 170 или выше как на Зандербирд Лэйнс, так и на Болеро Лэйнс .) Да, это еще одна задача типа решить пересечение, используя соединение . Зададим запрос другим образом, чтобы было более понятно, что должна сделать база данных. Find all the bowlers who had a raw score of 170 or better at Thunderbird Lanes, then find cCll the bowlers who had a raw score of 170 or better at Bolero Lanes, and finally list the common bowlers so we know who had good scores at both bowling alleys . ( Найти всех игроков в боулинг, которые имеют предварительное количество очков 170 и выше на Зандербирд Лэйнс, затем найти всех игроков в боулинг, которые имеют предварительное количество очков 170 и выше на Болеро Лэйнс, и, наконец, привести обилий список этих игроков в боулинг, чтобы знать, у кого из них хорошее количество очков на обеих дорооюках .) Преобразование 1: Select bowler full name from those common to the set of bowlers who have a score of 170 or better at Thunderbird Lanes and the set of bowlers who have a score of 170 or better at Bolero Lanes (Выбрать полное имя игрока в боулинг из списка множества игроков, имеющих количество очков 170 и выше на Зандербирд Лэйнс, и множества игроков, имеющих количество очков 170 и выше на Болеро Лэйнс) Преобразование 2/ Select bowler full name from (Select unique distinct Уточнение: bowler ID and bowler full name from the bowlers table joined with the bowler scores table on bowler ID, theft joined with the tourney matches table on match ID, and finally joined with the tournaments table on tourney ID where tourney location = Thunderbird Lanes and raw score is greater than or equal to >= 170) joined with (Select unique bowler ID bowler full name from the bowlers table oined with the bowler scores table on bowler ID, theft joined with the tourney matches table on match ID, and finally joined with the tournaments table on tourney ID where tourney location ts = Bolero Lanes and raw score is greater than or equal to >= 170) on bowlerlD (Выбрать полное имя игрока в боулинг из (Выбрать неповторяющийся идентификатор игрока, полное имя игрока в боулинг из Игроки в боулинг , соединенной с Очки игроков в боулинг по идентификатору игрока, соединенной с Матчи турнира по идентификатору матча, соединенной с Турниры по идентификатору турнира, где место проведения турнира = Thunderbird Lanes и предварительное количество очков >= 170), соединенной с (Выбрать неповторяющийся идентификатор игрока, полное имя игрока в боулинг из Игроки в боулинг , соединенной с Очки игроков в боулинг по идентификатору игрока, соединенной с Матчи турнира по идентификатору матча, соединенной с Турниры по идентификатору турнира, где место проведения турнира = Bolero Lanes и предварительное количество очков >= 170) по идентификатору игрока в боулинг) SQL SELECT BowlerTbird.BowlerFullName FROM (SELECT DISTINCT Bowlers.BovlerlD, (Bowlers.BowlerLastName Bowlers.BowlerFirstName) AS BowlerFullName FROM ((Bowlers INNER JOIN Bowler Scores ON Bowlers.BowlerlD = Bowler Scores.BowlerlD) INNER JOIN Tourney Matches ON Tourney Matches.MatchID = Bowler Scores.MatchID) INNER JOIN Tournaments ON Tournaments.TourneylD = Tourney Matches.TourneylD WHERE Tournaments.TourneyLocation = Thunderbird Lanes AND BowierScores.RawScore >= 170) AS BowlerTbird INNER JOIN
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |