Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Negacja w mysql nie działa
Forum PHP.pl > Forum > Bazy danych > MySQL
seba123
Witam! smile.gif

Mam takie zapytanie
  1. SELECT
  2. user.username, (user.options & 512) AS invisible, user.usergroupid, user.lastvisit,
  3. session.userid, session.inforum, session.lastactivity, session.badlocation,
  4. IF(displaygroupid=0, user.usergroupid, displaygroupid) AS displaygroupid, infractiongroupid
  5.  
  6. FROM vb_session AS session
  7. LEFT JOIN vb_user AS user ON(user.userid = session.userid)
  8.  
  9. WHERE session.lastactivity > 1321044527
  10. AND user.usergroupid != 8
  11. ORDER BY username ASC;


Najważniejszy element -
  1. AND user.usergroupid != 8
nie działa... wyniki są identyczne jak bez niego. Próbowałem użyć <> oraz NOT IN(8) ale to nie spowodowało żadnej zmiany.

Pole usergroupid ma na pewno wartość 8 w tabeli, gdyż jeżeli zamienię warunek WHERE na
  1. AND user.usergroupid = 8
to wyświetla mi tylko rekordy z usergroupid równym 8.

Jakieś pomysły?
skowron-line
Ten warunek to raczej do JOIN -a powinieneś przenieść.
seba123
Jakiś przykład konkretny? ;>
maly_swd
LEFT JOIN vb_user AS user ON user.userid = session.userid AND user.usergroupid != 8


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.