Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie z 2ch tabel
Forum PHP.pl > Forum > Bazy danych > MySQL
SzybkiKazik
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.

Mchl
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
SzybkiKazik
Dziękuję!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.