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 (1 - 4)
Fifi209
post
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(arzach @ 1.08.2010, 10:26:54 ) *
I to dołącza tylko 5 rekordów. Proszę o pomoc w wykonaniu zapytania.

Dziwisz się? Przecież masz tam limity 5.
Go to the top of the page
+Quote Post
arzach
post
Post #3





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

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


Cytat(fifi209 @ 1.08.2010, 11:33:29 ) *
Dziwisz się? Przecież masz tam limity 5.


To że dołącza tylko 5 rekordów to wiem Nie wiem jak mam zrobić by dołączało po 5 do każdego tematu.
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Nie jestem pewny ale przy JOIN'ach trzeba było używać warunku ON

a union select Ci nie wystarczy?
Go to the top of the page
+Quote Post
arzach
post
Post #5





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

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: 25.08.2025 - 06:37