ugrás a tartalomhoz

MySQL nem érti az SQL-t logikai műveletes joint használva

Anonymous · 2005. Okt. 20. (Cs), 14.13
vmi olyan furcsaság lehet, amiről én még nemtudok

van egyszer egy ilyen lekérdezésem:
select uzenetkinek.userid as kinek,uzenetkitol.userid as kitol,
count(uzenetkinek.userid) as db,MAX(datum) as max,nev
from uzenetkitol,uzenet,uzenetkinek,users where uzenetkitol.userid=36
and uzenetkitol.uzenetaz=uzenet.uzenetaz and
uzenetkinek.userid=users.id and
uzenetkinek.uzenetaz=uzenet.uzenetaz and uzenetkitol.allapotaz<>0
and uzenetkitol.allapotaz<>4 group by kinek,kitol,nev order by max desc
ennek van eredménye, azaz van találat.
hogyha ehhez a részhez "uzenetkinek.userid=users.id and uzenetkinek.uzenetaz=uzenet.uzenetaz" egy vagy logikai művelettel hozzákapcsolok egy másik feltételt (mert muszáj) akkor annak most nem kéne belszólnia az előző eredménybe mivel ez az előző rész már logikailag igaz eredményt adott (mivel volt eredmény).. és logikai vagy kapcsolatnál ha az egyik bemenő érték igaz akkor már a kimenő is az lesz..
nade itt a teljes másik lekérdezés ami valamiért már nem ad eredményt:
select uzenetkinek.userid as kinek,uzenetkitol.userid as kitol,
count(uzenetkinek.userid) as db,MAX(datum) as max,nev
from uzenetkitol,uzenet,uzenetkinek,users,toroltuzenet
where uzenetkitol.userid=36 and uzenetkitol.uzenetaz=uzenet.uzenetaz and
((uzenetkinek.userid=users.id and uzenetkinek.uzenetaz=uzenet.uzenetaz) or
(toroltuzenet.uzenetaz=uzenet.uzenetaz and toroltuzenet.kinek=users.id)) and
uzenetkitol.allapotaz<>0 and uzenetkitol.allapotaz<>4
group by kinek,kitol,nev order by max desc
(amúgy hibát sem ír ki a mysql, tehát szintaktikailag helyes mindkét
lekérdezés)

hol a probléma???
 
1

talán

dummy · 2005. Okt. 20. (Cs), 15.23
ezek szerint:
x AND y OR z != (x AND y) OR z