![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 16.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Posiadam coś takiego jak: - grupy
- debaty (należą do grup)
- wpisy (należą do debat)
Poniżej umieszczam zrzut bazy danych:
A tutaj zobrazowane dane: (IMG:https://zapodaj.net/images/d9263e25416b7.png) GROUP - grupa D - "debates" - debaty E - "entries" - wpisy last (X) - ostatni wpis w debacie (o czasie X) Najpierw sprawa jest w miarę prosta. Utworzyłem sobie listę "debat" wraz z danymi dot. ostatniego wpisu i wygląda to następująco:
Dałoby się jakąś to uprościć? Jakieś uwagi? Cóż chciałbym osiągnąć? Chciałbym pobrać listę grup (a nie dabat) wraz z danymi dot. ostatniego wpisu (i dot. debaty do której wpis ten należy) w grupie... Czyli identyfikator i nazwę grupy, identyfikator, treść i datę ostatniego wpisu oraz identyfikator i nazwa debaty. Przy liście z "debatami" sprawa była prosta o tyle, że pobierałem najwyższą wartość (date) i grupowałem wg. id debaty - tutaj otrzymywałem wymagany wynik. Jeśli chciałbym do wpisów dołączyć tabelę debat (aby otrzymać z nich fk grupy), to grupując wg fk grupy nie otrzymam pożądanych wyników, ponieważ zgadzać będzie się id grupy, data ostatniego wpisu, ale id debaty zostanie wzięte pierwsze z brzegu (i nie będzie zgodny z oczekiwaniami... eh, gdyby tylko ten "MAX" wybierał cały wiersz a nie tylko komórkę). Posiadając id grupy i datę ostatniego wpisu, nie mogę do tego dołączyć wpisów (co mógłbym zrobić tylko na podstawie daty), ponieważ jeśli wpisy z różnych debat będą mieć identyczny czas (mało prawdopodobne, ale jednak), to wynik będzie nieprawidłowy. Czy ktoś borykał się z podobnym problemem? Miałby ktoś jakieś pomysły? Proszę o pomoc. Ten post edytował Mephis 18.03.2017, 19:52:50 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 95 Pomógł: 7 Dołączył: 27.10.2015 Ostrzeżenie: (0%) ![]() ![]() |
"Chciałbym pobrać listę grup (a nie dabat) wraz z danymi dot. ostatniego wpisu (i dot. debaty do której wpis ten należy) w grupie..."
a potem: "...ponieważ jeśli wpisy z różnych debat będą mieć identyczny czas (mało prawdopodobne, ale jednak), to wynik będzie nieprawidłowy..." to co chciałbyś uzyskać jak jednak ten przypadek się zdarzy? listę dot. ostatnich wpisów czy jak niby to by miało działać? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 1 Dołączył: 16.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
W tym pierwszym zapytaniu otrzymuję listę debat i połączone z nimi ostatnie wpisy:
(IMG:https://zapodaj.net/images/8bb0a313f613a.png) Chcę uzyskać listę grup i połączone z nimi ostatnie wpisy (i debaty), czyli te wiersze:
(IMG:https://zapodaj.net/images/b8b009e5b5390.png) Lecz, w przypadku, kiedy chciałbym pogrupować wg. grupy i pobrać najwyższą wartość z daty (tak, jak robię to w przypadku listy debat):
(IMG:https://zapodaj.net/images/7f378f46efbfe.png) ...otrzymuję nieprawidłowe wyniki. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 23:18 |