Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zapytanie z 2ch tabel
SzybkiKazik
post 2.08.2010, 17:33:57
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 2.08.2010

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


Witam,

Mam takie pytanie....

Mam dwie tabele

1. users (id, username)
2. message (id, id_user, id_to, body)

W tabeli message trzymam wiadomość wysłaną od jednego usera do 2giego, id obu userów i id wiadomości.

Mam problem z zapytaniem, które zwróci mi coś takiego:

----------------------------------------------------------
| FROM | TO | MESSAGE |
| nazwa usera | nazwa usera | tresc wiadomości |
-----------------------------------------------------------


Odpytuję bazę w ten sposób, ale to zwraca mi tylko nazwę nadawcy, a nie mam pomysły jak odpytać o nazwę odbiorcy.

SELECT u.username UZYTKOWNIK, m.body WIADOMOSC from user u join message m on (u.id = m.id_user) where u.id = "27";

Będę wdzięczny za podpowiedź.
Na logikę musi być gdzieć Subquery - ale nie wiem jak to zrobić.

Pozdrawiam,
Kazik.

Go to the top of the page
+Quote Post
Mchl
post 2.08.2010, 17:45:55
Post #2





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


Wcale nie musi. Potrzebujesz za to jeszcze jednej tabeli z użytkownikami. Ale bez sensu jest robić dwie takie same tabele, więc dołączysz drugi raz tą samą, ale z innym aliasem.

Kod
SELECT n.username AS nadawca, o.username AS odbiorca, m.body AS wiadomosc
FROM user AS n
LEFT JOIN message AS m ON u.id = m.id_user
LEFT JOIN user AS o ON m.user_to = o.id
WHERE n.id = 27
Go to the top of the page
+Quote Post
SzybkiKazik
post 2.08.2010, 17:56:09
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 2.08.2010

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


Dziękuję!
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 15:09