Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL]Limit złączania tabel (INNER JOIN)
arzach
post
Post #1





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


Witam ma takie zapytanie,
  1. SELECT thread_id, thread_subject, post_message FROM (SELECT thread_id, thread_subject FROM threads ORDER BY thread_lastpost DESC LIMIT 5) t INNER JOIN posts USING(thread_id)

które zadanie pobrać 5 ostatnich tematów i do każdego tematu posty. NO i zapytanie działa, ale do każdego tematu pobiera wszystkie posty a ja chciałbym zrobić by przy złączaniu tabel złączałoby tylko po 5 rekordów do jednego tematu.

Próbowałem to zrobić tak
  1. SELECT thread_id, thread_subject, post_message FROM (SELECT thread_id, thread_subject FROM threads ORDER BY thread_lastpost DESC LIMIT 5) t INNER JOIN (SELECT thread_id, post_message FROM posts ORDER BY post_datestamp DESC LIMIT 5) USING(thread_id)


I to dołącza tylko 5 rekordów. Proszę o pomoc w wykonaniu zapytania.

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
arzach
post
Post #2





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


  1. UNION SELECT
tutaj się nie pomoże już o tym myślałem

CO do warunku ON to nie musi, bo
  1. ON(p.thread_id=t. thread_id)

Daje to samo, co
  1. USING(thread_id)
tylko z tym daje jedną kolumnę wynikową thread_id a nie dwie. ON mógłbym użyć jakbym chciał dodać jeszcze jeden warunek np.
  1. ON(p.thread_id=t. thread_id AND thread_id=1 )
a to mi niepotrzebne . Bo potrzebuje złączyć tabele by do każdego tematu złączyło 5 postów z tabeli post

Ten post edytował arzach 1.08.2010, 13:29:32
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 19:24