Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 9
1

Найти три лучших результата по времени

09.04.2017, 12:25. Показов 1181. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
SQL
1
2
3
4
5
6
SELECT
 ID_race, Competition, Sportsman, [TIME]
FROM
 Таблица a
WHERE
 EXISTS(SELECT * FROM Таблица WHERE [TIME] <= a.[TIME] HAVING COUNT(DISTINCT [TIME]) < 4);
Таким кодом решается задание на MS SQL сервере..
Как сделать/Переделать решение,чтобы заработала на acess 2007?
Миниатюры
Найти три лучших результата по времени  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.04.2017, 12:25
Ответы с готовыми решениями:

Найти три лучших результата по времени
Как в таблице соревнование(ID,Sportsmen,time) найти 3 лучших результата по времени ??? Через...

Три лучших результата
В этом задании необходимо написать программу, которая определяет три лучших результата. Программа...

Вывести в новый файл информацию о студентах, показавших три лучших результата в забеге
Добрый день. Подскажите есть ли в C# функция определения максимального значения? Есть база...

Среди результатов соревнований по лыжным гонкам, вводимых пользователем, вычислить три лучших результата
Помогите пожалуйста: Среди результатов соревнований по лыжным гонкам, вводимых пользователем,...

8
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.04.2017, 13:04 2
Запрос в SQL
SQL
1
2
3
4
5
6
7
8
9
SELECT ID_Race, Competition, Sportsman, [TIME], Место
FROM 
(SELECT ID_Race, Competition, Sportsman, [TIME], 
  (SELECT COUNT(*) 
   FROM Таблица t 
   WHERE t.[TIME]<Таблица.[TIME] AND t.Competition=Таблица.Competition)+1 AS Место
   FROM Таблица) AS z
WHERE Место<=3
ORDER BY Competition, Место
1
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 9
09.04.2017, 13:50  [ТС] 3
Цитата Сообщение от mobile Посмотреть сообщение
Запрос в SQL
Выдает ошибку что ядро базы данных не может найти входную таблицу или запрос "Таблица".
Спасибо за ответ
0
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.04.2017, 14:01 4
Я конечно же не знаю настоящие имена таблиц в Вашей базе. Поэтому написал стандартное "Таблица". Запишите вместо него подлинное имя таблицы. Если он с пробелом, то окаймите его квадратными скобками: [Имя таблицы]
1
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 9
09.04.2017, 14:23  [ТС] 5
Цитата Сообщение от mobile Посмотреть сообщение
Я конечно же не знаю настоящие имена таблиц в Вашей базе. Поэтому написал стандартное "Таблица". Запишите вместо него подлинное имя таблицы. Если он с пробелом, то окаймите его квадратными скобками: [Имя таблицы]
В таком случае работает,только всем спортсменам присваивает 1 место,и столбец МЕСТО выглядит как столбец единиц.
0
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.04.2017, 14:53 6
Лучший ответ Сообщение было отмечено antyfreeze98 как решение

Решение

Цитата Сообщение от antyfreeze98 Посмотреть сообщение
В таком случае работает,только всем спортсменам присваивает 1 место,и столбец МЕСТО выглядит как столбец единиц.
Да что ж Вы такие ужасы рассказываете.

Смотрите запрос Места во вложении
Вложения
Тип файла: rar Места.rar (11.9 Кб, 6 просмотров)
1
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 9
09.04.2017, 15:09  [ТС] 7
Цитата Сообщение от mobile Посмотреть сообщение
Да что ж Вы такие ужасы рассказываете.
спасибо огромное)
Кликните здесь для просмотра всего текста

FROM (SELECT ID_Race, Competition, Sportsman, [Time], (select count(*) from
Mesto t

Только изучаю базы данных в универе,не понимаю что делает эта строка кода) Почему там Mesto t? Таблица у нас Mesto а t что?
0
Эксперт MS Access
26806 / 14485 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
09.04.2017, 15:17 8
t это алиас (псевдоним) имени таблицы. Надо же как-то различать имена в запросе и подзапросе. Для этой цели и служат алиасы. С их помощью компилятор запросов точно знает к какому источнику данных относятся идентификаторы в выражении "where t.[Time]<Mesto.[Time] and t.Competition=Mesto.Competition", что к главному запросу, а что к подзапросу.
1
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 9
09.04.2017, 15:23  [ТС] 9
Цитата Сообщение от mobile Посмотреть сообщение
t это алиас
Теперь всё понял,до этого не знал что есть такая функция,в этом и была проблема когда пытался сделать сам,спасибо)
0
09.04.2017, 15:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.04.2017, 15:23
Помогаю со студенческими работами здесь

надо выбрать из десятки пять лучших защитников, три полузащитника, и два атакующих.
Помогите решить задачу про футбол) Значит у меня есть десять игроков, и у каждого из них есть...

В массиве хранится 20 значений забега, вывести на экран 3 лучших результата забега.
В массиве хранится 20 значений забега, вывести на экран 3 лучших результата забега. Может кто-то...

Три компилятора - три результата.
Постоянно на глаза попадаются мнения о достоинствах того или иного компилятора. Решил прояснить...

Найти 3 лучших
Помогите плз в решении такой задачи: на входе вводится некоторое число строк(задается...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru