[sql]enregistrement vide avec NOT IN

Résolu/Fermé
afrodje Messages postés 759 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 22 janvier 2014 - 19 nov. 2008 à 09:13
afrodje Messages postés 759 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 22 janvier 2014 - 26 nov. 2008 à 18:35
Bonjour,

Je voudrais ressortir un numéro qui n'est pas dans la liste.

Par exemple une liste A :
1
2
3
4
5
10 


Et la liste B :

1
2
3
4
5


J'utilise la requete suivante :
SELECT numeroB
FROM B
WHERE numeroB NOT
IN (
SELECT numeroA
FROM A
)


Mais 5 enregistrements : "","","","","10"

Comment garder que "10"?

Merci

2 réponses

afrodje Messages postés 759 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 22 janvier 2014 168
26 nov. 2008 à 18:35
Effectivement c'est bon.

Merci
1
Droopy_ Messages postés 248 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 17 janvier 2009 25
20 nov. 2008 à 04:56
J'ai testé sous Linux :
mysql> select * from A;
+---------+
| NumeroA |
+---------+
|       1 |
|       2 |
|       3 |
|       4 |
|       5 |
|      10 |
+---------+
6 rows in set (0.00 sec)

mysql> select * from B;
+---------+
| NumeroB |
+---------+
|       1 |
|       2 |
|       3 |
|       4 |
|       5 |
+---------+
5 rows in set (0.00 sec)

mysql> SELECT numeroA
    -> FROM A
    -> WHERE numeroA NOT
    -> IN (
    ->
    -> SELECT numeroB
    -> FROM B
    -> );
+---------+
| numeroA |
+---------+
|      10 |
+---------+
1 row in set (0.00 sec)


Ça ne rend qu'un seul résultat : 10.
0