Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Select NOT IN [ MySQL / Requêtes ] (olibara)

dimanche 12 octobre 2008 à 11:32:25 | Select NOT IN

olibara

Bonjour

Je ne parviens pas a trouver une syntaxe fonctionelle pour un NOT IN

But, je voudrais selectionner tous les éléments d'une tables dont l'ID ne se trouve pas dans une autre table

J'imaginais pouvoir faire

select distinct
addrid
from tours
where
(addrid NOT  in (select addrid from ok))

Mais le resultat est toujours vide
Par contre si je fais

select distinct
addrid
from tours
where
(addrid   IN (select addrid from ok))

Alors j'ai un resultat pertinent mais qui est l'opposé de ce que je voudrais ???




dimanche 12 octobre 2008 à 14:58:29 | Re : Select NOT IN

coq

Administrateur CodeS-SourceS
Salut,

Pourtant à première vue c'est valide comme logique, il faudrait juste vérifier les différences de perfs avec une écriture basée sur une jointure.
Tu es sur d'avoir des entrées dans l'une qui ne sont pas dans l'autre ?
A voir si MySQL supporte un opérateur similaire à EXCEPT sous SQL Server


/*
coq
MVP Visual C#
CoqBlog
*/

dimanche 12 octobre 2008 à 15:07:20 | Re : Select NOT IN

olibara

Salut Coq

Non ca marche vraiment pas et je ne comprends pas pourquoi

J'ai contourné en adaptant le design de la db et en travaillant sur un flag et une jointure
Si un jour je trouve la réponse je le saurai pour la prochaine fois




lundi 13 octobre 2008 à 11:45:24 | Re : Select NOT IN

crn_c21

T'as essayé :

select distinct
addrid
from tours
left outer join Ok on Ok.addrid=tours.addrid
where
ok.addrid is null

lundi 13 octobre 2008 à 13:08:34 | Re : Select NOT IN

olibara

Salut

Oui avec les jointure ca marche
Mais c'est le fait que le NOT IN ne marche pas que je trouve bizarre

Ca signifie qu'on ne PEUT PAS employer cette syntaxe qui donne des résultat inatendus.


vendredi 17 octobre 2008 à 00:11:04 | Re : Select NOT IN

crn_c21

Est-tu sur d'avoir des enregistrements répondant au NOT IN?

Si dans une table T1 tu as 1,2 et 5 et que dans une autre T2 tu as 1,2  forcément un :

SELECT ID  FROM T1 WHERE ID not in (Select Id From T2)

te renverras 5!!


vendredi 17 octobre 2008 à 07:33:17 | Re : Select NOT IN

olibara

Salut

En fait j'ai trouvé et c'est tres bon a savoir

Table 1  : 1,2,3,4,5,6,7

Table 2 : 5,6,7

NOT IN rends 1,2,3,4

Table2 : 5,6,7,null,9

NOT IN rends null




Cette discussion est classé dans : select, not, in, distinct, addrid


Répondre à ce message

Sujets en rapport avec ce message

Faire plusieurs if dans un procedure stockee [ par chris81 ] bonjour,comment puis je faire pour verifier plusiseurs if dans la meme procedure stockee c'est a direif not exist(SELECT Id FROM...) et if not exists( SQL : probleme de not in [ par bliss_00 ] Bonjour à tous,je voudrais éxécuter une requête SQL sur une BdD mysql mais apparemment il y aurait une erreur de syntaxe. Je ne suis pas sûr de la syn Select Distinct sur une colonne [ par thiosyiasar ] Bonjour,Je veux récupérer une liste d'utilisateur dans une table utilisateur. (id, nom, prénom, email)L'application qui alimente la table ne prend pas Problème de NOT IN !? [ par djagger ] Salut !J'ai une table contrat, avec un numéro d'emplacement et un status.Il peut y avoir plusieurs contrats sur le meme emplacement.Ce que je voudrais Simplifier un requete avec 2 NOT IN [ par boninou ] Bonjour à tous ! Est il possible de simplifier cette requete ? SELECT nom_equipe FROM equipe WHERE nom_equipe NOT IN (SELECT equipe1 FROM matchs whe DISTINCT [ par zen69 ] Salut a tous!J'ai un probleme avec un requete de type select... Ca parait simple a premiere vue, mais le resultat escompter n'y est pas.Je veux faire SELECT IN [ par whouu ] Salut a tous, je fais court et clair, un utilisateur fais une recherche il entre un mot dans un champ texte par ex "maison" , je fais un select dans m Récupérer le résultat d'une requete dans une variable ... [ par dinous ] bonjour ! voici ce que je voudrai faire : select distinct() from ... where ... et metre le résultat de cette erquete dans eun variable genre : @ma Différence entre not in / not exists [ par boumbo73 ] Bonjour, J'ai du mal à faire la différence entre NOT IN et NOT EXISTS ?Merci pour votre aide Update dans select [ par olibara ] BonjourJ'aimerais savoir s'il est possible de faire un UPDATE en utilisant une commande selectUn truc du genre :[CODE]UPDATEaddressset Address.isEtiqu


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.