Попытка сделать много за один запрос.Не уверен, следует ли мне выполнять отдельные подзапросы или группу объединений.
Это выполняется в приложении базы данных SQL в Microsoft Azure.
Таблица / представление:
TourmamentID INT
EventID INT
EventName NVARCHAR(50)
TeamID INT
TeamName NVARCHAR(50)
EventStart Datetime
TeamEnd Datetime
iscomplete bit
Вот пример данных из представления.
TournamentID, EventName, TeamName, EventStart, TeamEnd, iscomplete
---------- -------- ---------- ------- --------- -------
1 E1 T1 sqldate sqldate 1
1 E2 T1 sqldate sqldate 1
1 E1 T2 sqldate sqldate 1
1 E2 T2 sqldate sqldate 1
1 E1 T3 sqldate sqldate 1
2 E1 T1 sqldate null null
2 E1 T2 sqldate sqldate 1
2 E2 T2 sqldate sqldate 1
3 E1 T3 sqldate null null
Мне нужно показать набор результатов турнирной таблицы, в котором в качестве столбцов будет указано общее количество команд, которые завершили соревнование с тремя самыми быстрыми временами.,Лучше всего было бы указать название команды и время.
EventName, NumberTeamscompleted, 1st 2nd 3rd
E1 3 Datediff (T1) DateDiff (T3) DateDiff(T2)
E2 2
Запрос вернул бы результат только для одного турнира (где tournamentID = 1
)
Я сам выполнил соединение на столечтобы получить более одного набора столбцов для результатов, но у меня не было возможности, чтобы второй набор был вторым по быстродействию для каждого события.
У меня также есть независимый запрос, который выполняет подсчет и группирование по порядку.чтобы получить сумму, но когда я пытаюсь объединить их, все разваливается.