Witam.
Łącze trzy tabele
Tabela_1 - ID_t1 ; pozostałe_kolumny_t1
Tabela_2 - ID_t2 ; ID_t1 ; ID_t3 ; pozostałe_kolumny_t2
Tabela_3 - ID_t3 ; kolumna_treść_t3
Tabela_2 ma wiele wpisów dla ID_t1 i teraz chciałbym uzyskać wynik:
**pozostałe_kolumny_t1 ; kolumna_treść_t3 **
gdzie kolumna_treść_t3 będzie ostatnim z dodanych dla danego ID_t1
SELECT b.ID_t3, a.* FROM tabela_2 b LEFT JOIN tabela_1 a ON (a.ID_t1=b.ID_t1) GROUP BY b.ID_t1 desc
Ten SELECT działa OK i wyświetla faktycznie najmłodsze ID_t3 z tabeli_t2
jednak po połączeniu:
SELECT o.koluna_treść_t3, t.* FROM (SELECT b.ID_t3, a.* FROM tabela_2 b LEFT JOIN tabela_1 a ON (a.ID_t1=b.ID_t1) GROUP BY b.ID_t1 desc) t LEFT JOIN Tabela_3 o ON (o.ID_t3 = t.ID_t3)
widać** najstarsze ID_t3 z tabeli_t2 i co za ty idzie o.kolumna_treść_t3 też jest najstarsza.**
Ma ktoś pomysł dlaczego tak się dzieje i czy czasami nie przekombinowałem z tym zapytaniem.
Pozdrawiam i dziękuję za uwagę.