La clause where dans la requête sql de supprimer aussi les valeurs null

J'ai ces tables:

'Utilisateurs'

id  email                name                 last_access
1   luca@gmail.com       Luca Pluto           2012-10-05 17:21:22.0
2   pippo@gmail.com      Irene Pippo          2012-10-05 17:22:25.0

'Nets_permissions'

user_id         network_id  perm
1               1234        3
1               1235        1
2               1235        3

J'ai écrit cette requête:

SELECT u.id, u.name, n.perm
FROM users as u LEFT OUTER JOIN nets_permissions as n
ON u.id = n.user_id
WHERE n.network_id=1234 AND n.perm <> 3

parce que je veux que les utilisateurs qui ont déjà une autorisation pour network_id (1234) , mais aussi les utilisateurs qui ne disposent pas d'une autorisation pour la network_id. En d'autres termes, je voudrais avoir ce résultat de la requête:

2    null    null

parce que l'utilisateur Luca Pluton avec l'id=1, le net est 1234, ont perm=3 je tiens donc à gauche. Au lieu de cela, l'utilisateur Irene Pippo avec id=2 ne dispose pas d'une autorisation sur le 1234 net. Il est donc ligne doit avoir net_id et perm mis à null.

Mon résultat de la requête est vide. Je ne sais pas pourquoi. Sans la clause n.perm <> 3 semble bien fonctionner, mais après aussi la valeur null sont laissés de côté, non seulement le rws avec perm=3.

J'ai aussi essayé de cette façon:

SELECT u.id, u.name, n.perm FROM users as u LEFT OUTER JOIN 
(select * from nets_permissions WHERE network_id=1234) as n on u.id = n.user_id 
WHERE n.perm <> 3

mais ça ne fonctionne pas. sans la clause where de toutes les œuvres. Après pas. Le résultat de la requête est vide.

Comment je peux résoudre ce problème? J'ai besoin que la perm colonne est une valeur ou une valeur null, je ne peux pas supprimer cette colonne.

InformationsquelleAutor sharkbait | 2012-10-06