Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Warunek w LEFT JOIN
magnus
post
Post #1





Grupa: Zarejestrowani
Postów: 99
Pomógł: 15
Dołączył: 15.11.2007
Skąd: Nowogród Bobrz.

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


Zapytam, bo natknąłem się na taki ciekawy problemik.
Mianowicie mam 2 tabelki:
- users: id_user, login
- pics: id_pic, id_user, sciezka, data_dodania, domyslny
(oczywiście w uproszczeniu).
Relacja 1 do wielu.

I chciałbym jednym zapytaniem wyświetlić np. 5 userów według jakiegoś warunku razem z domyślnym zdjęciem (jeśli ma domyślne). Jeśli nie ma w ogóle skojarzonych fotek, albo istnieje fotka domyślna (i też pod warunkiem, że jedna), to można tak:
Kod
SELECT u.login, p.sciezka
FROM users u
LEFT JOIN pics p
ON u.id_user = p.id_user
WHERE p.domyslny=1 OR p.id_pic is null
ORDER BY u.login
LIMIT 5

Ale jak to zrobić przy założeniu, że może być kilka fotek, ale żadna z nich nie powinna być wyświetlana??

2. Przy okazji - a jakim zapytaniem podłączyć z drugiej tabeli zawsze tylko jeden wiersz (lub żaden jeśli nie ma) - w powyższym przykładzie np. zawsze jeden rekord z 'pics' z największą datą?

Ten post edytował magnus 4.03.2008, 00:01:40
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: 26.08.2025 - 15:35