Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> LEFT JOIN z limitem
Hosiek
post
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
  1. SELECT * FROM `topics` AS t LEFT JOIN `posts` AS p ON t.topic_id = p.topic_id

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 smile.gif
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
Go to the top of the page
+Quote Post
mmmmmmm
post
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.
Go to the top of the page
+Quote Post
Hosiek
post
Post #3





Grupa: Zarejestrowani
Postów: 181
Pomógł: 0
Dołączył: 25.11.2010

Ostrzeżenie: (0%)
-----


Cytat(mmmmmmm @ 1.10.2014, 15:19:41 ) *
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
Go to the top of the page
+Quote Post
phpion
post
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ść.
Go to the top of the page
+Quote Post
Hosiek
post
Post #5





Grupa: Zarejestrowani
Postów: 181
Pomógł: 0
Dołączył: 25.11.2010

Ostrzeżenie: (0%)
-----


Można i tak.
Go to the top of the page
+Quote Post
mmmmmmm
post
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. smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 07:30