![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 246 Pomógł: 19 Dołączył: 14.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Cześć, zrobiłem sobie zapytanie które wybiera mi wszystkie dane o najwyższej osobie w danym dziale:
I teraz pytanie dlaczego dwa rekordy mi się powtarzają? Dodam, że podzapytanie zwraca mi:
A w tabeli osoby mam powtarzające się wartości wzrost:
Wiem, że mogę sobie zrobić grupowanie i bedzie po problemie. Pytam jednak z czystej ciekawości. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Podzapytanie
Kod SELECT MAX(wzrost) AS max,idosoby FROM osoby o INNER JOIN dzialy d ON o.iddzialu = d.iddzialu GROUP BY d.iddzialu Zawiera kolumnę nieagregowaną (idosoby) i nie występującą w klauzuli GROUP BY. Nie ma gwaracji, że zwrócone idosoby będzie id osoby najwyższej. Zastnaów się nad takim zapytaniem: Kod SELECT MAX(wzrost) AS max, MIN(wzrost) AS min, SUM(wzrost) AS sum,idosoby
FROM osoby o INNER JOIN dzialy d ON o.iddzialu = d.iddzialu GROUP BY d.iddzialu Ten post edytował Mchl 27.01.2010, 21:11:19 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 09:57 |