![]() |
|
Модераторы: skyboy |
![]()
|
|
| 4epT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
Имеется 2 таблицы: team и player.
Team: id (ключ) team (название) Player: id (ключ) name (имя) id_team (номер команды в которой он играет) birthdate (день рождения) Запрос должен содержать в себе Имя команды, Имя игрока и дату рождения. Дата рождения должна быть самая маленькая (самый старый) или самая большая (самый молодой). Вроде запрос простой ... без проблем сделал вывод Имя команды и дату, а вот при попытке вывести еще имя игрока ругается ( говорит что по нему нужно делать группировку, а судя по логике запроса группировка должна быть только по команде. Помоги пожалуйста написать данный запрос ) желательно красивый ... друг помог написать, но уже очень сложно ( и решение просто в лоб ... p.s. и был бы признателен, если бы кто то смог дать список задач по sql, штук 100 - 150 задач отсортированные по уровню сложности =) начиная с обычных select и заканчивая очень сложными =) Ну или какие нибудь источники по которым моно было бы очень хорошо подготовиться! |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Используйте не просто вывод имени, а агрегатную функцию от него (First, например - есть его в Вашей СУБД?)... -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Zloxa |
|
||||||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
+ поиск по форуму по "бабушкин метод", хотя тут он не нужен
sql-ex.ru Это сообщение отредактировал(а) Zloxa - 11.11.2011, 15:41 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
||||||
|
|||||||
| 4epT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
В том то и дело что не понятно какую агрегатную функцию можно там применить ... для дня рождения используется min или max.
Насчет first сейчас посмотрю ... |
|||
|
||||
| 4epT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
В том то и дело что не понятно какую агрегатную функцию можно там применить ... для дня рождения используется min или max.
Насчет first сейчас посмотрю ... |
|||
|
||||
| 4epT |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 784 Регистрация: 13.8.2007 Репутация: нет Всего: 3 |
Zloxa, именно такой способ мой друг мне и подсказал =) Скажи пожалуйста, этот запрос самый "красивый" ? по другому не сделаешь ?
За сайт спасибо, посмотрю =) |
|||
|
||||
| Zloxa |
|
||||||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Мне - нравится. row_number вроде как описан в SQL2003 и из года в год больше и больше платформ его потдерживают. Акина подсказал first, гугл подсказал что в ПГ есть что-то подобное, но, похоже это не встроенный аггрегат, а определяемый пользователем. По кр. мере в списке встроенных аггрегатов я его не углядел. Если это так, испльзовать его можно не всегда и не везде. В оракле есть конструкция keep Ее тоже можно использовать для этих целей
но я не знаю, есть ли подобная плюшка в ПГ и держит ли ее вобще ктонить кроме оракла. Можно испльзовать скалярный подзапрос
Такой запрос будет рабоатть на подавляющем большинстве платформ, т.к. опирается на синтаксис стандарта sql98 Можно сделать через join
Этот запрос, тоже опирается на синтаксис sql98, но, в отличии от предыдущих, выведет всех игроков дата рождения которых максимальна. К сожалению, как разрешать такие неоднозначности, в исходной постановке вопроса не указано, а всякий раз спрашивать, уже оскомину набило. наверное еще как-то можно. Это сообщение отредактировал(а) Zloxa - 11.11.2011, 15:37 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
||||||
|
|||||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Тоже 98й синтаксис но работать будет чутку по другому нежели предыдущие два запроса, в части нуллов -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |