Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MYSQL] Odwrótność LEFT JOIN?
Konio
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 17.04.2005

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


Nie wiem nawet. jak przeszukać forum na tę okoliczność (w sensie fraz) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Mam 2 tebele

a
aid
aemail

w
wid
wemail
wwiadomoscid

teraz chce znalezc uzytkownikow, ktorych maile sa w tabeli a i nie sa umieszczone w tabeli w.

Normalnie dalbym

SELECT a.aid
FROM a
LEFT JOIN w ON w.wemail = a.aemail
WHERE w.wwiadomoscid IS NULL

Dostaję dobry wynik.

ale chcę zawęzić wyniki do osób, które nie mają maila w tabeli w dla danego id wiadomosci wwiadomoscid

więc dodaję AND w.wwiadomoscid = '1'

i kicha, zawsze dostaje pusty wynik.

PS w tabeli w maile mogą się powtarzać. W tabeli a już nie.

Ten post edytował Konio 16.06.2008, 16:06:22
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


  1. SELECT u.*
  2. FROM userzy u
  3. WHERE NOT EXISTS ( SELECT w.id FROM wiadomosci w WHERE id_wiad = 2 AND u.email = w.email )


A nie lepiej trzymac w wiadomosciach ID userow zamiast email? skoro bedziesz mial ich wiele to szybsze selecty beda [+ zaloz indeksy]
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 - 14:43