![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 17.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Walczę ostatnio z poniższym problemem i pomysły mi sie wyczerpały, dlatego proszę Was o pomoc. Mam złączenie: select count(*) from OBJECTS oo RIGHT JOIN EXECUTIONS a ON oo.EXECUTION_ID = a.ID W tabeli w aplikacji wyświetlam jedynie obiekty z tabeli a, czyli EXECUTIONS. Zapytanie zwraca mi powtórzone obiekty z EXECUTIONS, dlatego w select używam DISTINCT, by każdy wiersz był unikalnym. Tu jest ok. Chciałbym teraz policzyć te unikalne wiersze i tu wystepuje problem. Gdy użyję powyższego zapytania, to zliczam wszystkie wiersze, te nieunikalne także. Moim pytaniem jest... jak spowodować, aby zliczyć jedynie te unikalne wiersze, czyli tak jakby wykonać zapytanie: select count(*) from EXECUTIONS a Tego zapytania niestety nie mogę użyć ze względu na specyfikę aplikacji, muszę korzystać z JOINa, takiego jak powyżej. count(DISTINCT) nie działa poprawnie w EJBQL. Macie jakieś wskazówki ? Z góry dzięki ! |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
@pjamalia - nieprawdą jest, że przy agregatach zawsze trzeba używać GROUP BY. Trzeba ich używać, gdy się używa pól grupujących. Powyższy przykład jest prawdiłowy, bo nie ma pól grupujących. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 8.10.2025 - 13:01 |