![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 0 Dołączył: 25.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Mam dwie kolumny, tematy oraz posty. Teraz chce wyczytać wszystkie tematy oraz ostatnie ich posty jednak mam mały problem
Zapytaniem
Osiągnę taki efekt że identycznych tematów mam tyle, ile ich postów a chcę mieć tylko jeden temat oraz jeden post w jednym zapytaniu. Da się jakoś dodać limit tylko do postów albo osiągnąć to w jakiś inny sposób? //Rozwiązałem to w taki sposób, może ktoś znajdzie coś lepszego ![]() Kod SELECT t.*, (SELECT CONCAT(p.post_user,'-', p.post_date) FROM `posts` AS p WHERE p.topic_id = t.topic_id LIMIT 1) AS last_post FROM `topics` AS t WHERE t.board_id = {$board_id}
Ten post edytował Hosiek 1.10.2014, 14:18:23 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Tylko jedna kolumna z tabeli posty? Jeśli tak, to zapytanie skorelowane. Jeśli nie, to podzapytanie (SELECT topic_id, Max(post_id) FROM posty) i do tego podłączyć dwie tabele - topici i posty.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 0 Dołączył: 25.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Tylko jedna kolumna z tabeli posty? Jeśli tak, to zapytanie skorelowane. Jeśli nie, to podzapytanie (SELECT topic_id, Max(post_id) FROM posty) i do tego podłączyć dwie tabele - topici i posty. Dwie tabele potrzebuje ale zrobiłem concat i potem rozdzieliłem w php, lecz brakuje mi jeszcze orderu więc chyba faktycznie zrobię jak mówisz, dzięki wielkie. Ten post edytował Hosiek 1.10.2014, 14:28:02 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Ja bym proponował nagiąć trochę zasady i do tabeli topiców dodać ID ostatniego postu. Wartość najlepiej aktualizować triggerem żeby mieć pewność, że zawsze jest tam prawidłowa wartość.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 181 Pomógł: 0 Dołączył: 25.11.2010 Ostrzeżenie: (0%) ![]() ![]() |
Można i tak.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście moje zapytanie jest błędne, bo to tylko schemat... Brakuje GROUP BY.
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 07:30 |