![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 14.06.2004 Ostrzeżenie: (0%) ![]() ![]() |
Proszę o pomoc w skonstruowaniu (i zrozumieniu jak to się robi) zapytania sql które uzupełni kwerendę agregującą o inne dane na temat rekordów będących wynikiem tej agregacji.
Mam 2 tabele: dystanse (półmaraton, 10km, itd.) oraz wyniki zawodnika na poszczególnych dystansach. Chcę znaleźć najlepsze wyniki dla każdego z dystansów. Kwerenda grupująca po dystansach z funkcją agregująca min(czas) musi być oparta na danych z więcej niż 1 tabeli powiązanych relacją LEFT JOIN. Taka kwerenda daje te najkrótsze czasy (z funkcji min(*) w klauzuli SELECT) oraz pola z klauzuli GROUP BY (w tym wypadku dystans). Nie potrafię natomiast uzupełnić tego zestawienia o identyfikatory rekordów dla których znaleziono te najkrótsze czasy oraz inne pola z tabeli dowiązanej przez JOIN (tabela dystansów). Chodzi o to, że jeśli do klauzuli SELECT dodam coś co nie jest ani argumentem funkcji agregującej ani parametrem grupowania z klauzuli GROUP BY to w wynikach pojawia się w tym polu przypadkowa (a w każdym razie błędna) wielkość. Mam taki kod:
Pozdrawiam Bart |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 22:29 |