Rechercher : dans
Par :

[sql]enregistrement vide avec NOT IN

Dernière réponse le 26 nov 2008 à 18:35:36 afrodje, le 19 nov 2008 à 09:13:34 
 Signaler ce message aux modérateurs

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
Configuration: Windows Vista
Firefox 3.0.4

Meilleures réponses pour « [sql]enregistrement vide avec NOT IN » dans :
Enregistrer une vidéo en streaming (Youtube, Dailymotion...) VoirDe plus en plus de sites diffusent du contenu vidéo en streaming, c'est-à-dire en diffusion à la demande. Ainsi, il est nécessaire d'être connecté pour pouvoir en lire le contenu, voire de se connecter à partir de la page diffusant le contenu...
SQL - Opérations ensemblistes VoirLes opérations ensemblistes Les opérations ensemblistes en SQL, sont celles définies dans l'algèbre relationnelle. Elles sont réalisées grâce aux opérateurs : UNION INTERSECT (ne fait pas partie de la norme SQL et n'est donc pas implémenté dans...
SQL - Restriction VoirExpression des restrictions Une restriction consiste à sélectionner les lignes satisfaisant à une condition logique effectuée sur leurs attributs. En SQL, les restrictions s'expriment à l'aide de la clause WHERE suivie d'une condition logique...

1

Droopy_, le 20 nov 2008 à 04:56:44

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.

Répondre à Droopy_

2

 afrodje, le 26 nov 2008 à 18:35:36
  • +1

Effectivement c'est bon.

Merci 1000101 et plus si affinité ;)

Répondre à afrodje