2011-03-21 2 views
1

J'ai une requête comme ceci:mysql: valeur peut être « null », mais ne doit pas être « specific_value »

SELECT group.active, group.desc, 
group.group_id, hide_group.hide, 
hide_group.user_id 
FROM group 
LEFT JOIN hide_group ON 
    group.group_id=hide_group.group_id 
WHERE group.active=1 
AND hide_group.user_id != 'test' 
OR hide_group.user_id IS NULL 
ORDER BY hide_group`.`user_id` DESC 

Cela ne tient pas complètement la ligne active pour une raison quelconque? Si je retire

et hide_group.user_id! = 'Test'

Il prend actif = 1 en compte, mais ne retourne pas les bonnes valeurs. Si j'examine la première requête, tout irait bien si la condition active serait prise en compte. Aidez-moi!

Répondre

6

Utilisez les parenthèses correctement lorsque vous utilisez "et" et "ou" ensemble.

+0

Oh ... je tirais mes cheveux pour rien. Merci beaucoup! – WraithLux

+0

De rien. Cela peut arriver :) –

0

nom de la table group, nom du champ desc ne contribuerait pas à

Questions connexes