Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/11/2010, 21h51   #1
Nouveau Membre du Club
 
Étudiant
Inscription : mars 2009
Messages : 54
Détails du profil
Informations personnelles :
Âge : 24
Localisation : Tunisie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2009
Messages : 54
Points : 30
Points : 30
Par défaut Probleme avec NOT IN

bonjour,

j'ai la table inbox qui contient 1036 lignes, la requête suivante retourne 1000 lignes:
Code :
1
2
3
4
5
SELECT masq
FROM inbox
WHERE masq
IN ( SELECT m1
FROM scanbase )
Logiquement, la meme requete avec NOT IN au lieu de IN donnera les 36 lignes qui rentesnt... mais ca me donne toujour 0 lignes

merci
byubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 09h03   #2
Expert Confirmé
 
Avatar de Maljuna Kris
 
Homme Avcxjo MoKo
Retraité
Inscription : novembre 2005
Messages : 2 528
Détails du profil
Informations personnelles :
Nom : Homme Avcxjo MoKo
Âge : 60

Informations professionnelles :
Activité : Retraité
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2005
Messages : 2 528
Points : 3 519
Points : 3 519
Saluton,
Testes plutôt ces deux requêtes
Code sql :
1
2
3
SELECT masq
FROM inbox
INNER JOIN m1 USING (masq);
et
Code sql :
1
2
3
4
SELECT masq
FROM inbox
LEFT JOIN m1 USING (masq)
WHERE m1.masq IS NULL;
__________________
Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
articles : Comment émuler un tableau croisé [quasi] dynamique
et : Une énigme mathématique résolue avec MySQL
recommande l'utilisation de PDO (PHP5 Data Objects)
Maljuna Kris est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/11/2010, 17h08   #3
Nouveau Membre du Club
 
Étudiant
Inscription : mars 2009
Messages : 54
Détails du profil
Informations personnelles :
Âge : 24
Localisation : Tunisie

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2009
Messages : 54
Points : 30
Points : 30
Ca marche merci, il parait que c'est un bug dans MySQL : les requêtes de type
Code :
... WHERE ... NOT IN ( SELECT ... )
donnent un résultat vide si le SELECT interne contient des case NULL.


autre solution: ifnull()
byubi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/12/2010, 13h03   #4
Membre Expert
 
Inscription : août 2008
Messages : 1 271
Détails du profil
Informations forums :
Inscription : août 2008
Messages : 1 271
Points : 1 925
Points : 1 925
Citation:
Ca marche merci, il parait que c'est un bug dans MySQL : les requêtes de type
Code :

... WHERE ... NOT IN ( SELECT ... )

donnent un résultat vide si le SELECT interne contient des case NULL.
Ca n'est pas du tout un bug, toutes les bases fonctionnent comme ça, c'est le principe de la logique trivaluée !
skuatamad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h34.


 
 
 
 
Partenaires

Hébergement Web