A voir également:
- Requette select where in et not in
- Navigation in private - Guide
- Not in a hypervisor partition (hvp=0) (verr_nem_not_available). - Forum VirtualBox
- Av in - Forum Audio
- Reboot and select proper boot device or insert boot media in selected boot device and press a key - Forum Windows
- Deco in paris avis - Forum Consommation & Internet
4 réponses
yg_be
Messages postés
23196
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 septembre 2024
Ambassadeur
1 534
23 avril 2017 à 23:08
23 avril 2017 à 23:08
bonsoir, pourquoi pas:
Select * from table1 where value1 in (3,9)
C'est exactement ca, je ne sais pas ce qu'il y a dans le in et dans le out ! d'apres les tests que j'ai pu faire si une valeur se trouve dans le "in" et le "out" alors dans le "in" prime sur le "out"
En gros le out n'est pas pris en compte.
En gros le out n'est pas pris en compte.
yg_be
Messages postés
23196
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 septembre 2024
1 534
25 avril 2017 à 07:08
25 avril 2017 à 07:08
et si tu fais uniquement le "out", pour vérifier qu'il est correct?
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
25 avril 2017 à 11:03
25 avril 2017 à 11:03
Bonjour,
il n'y a pas d'histoire de "in" qui prime sur le "out". On est dans une logique purement booléenne, tu as un AND entre tes deux clauses, donc il faut nécessairement que les deux clauses soient vérifiées pour qu'une ligne se retrouve dans ton résultat.
Si ton "out" n'est pas pris en compte, c'est qu'il y a un autre problème (par exemple, dans la requête que tu as collée, il y a une espace entre le "value" et le "1"... Erreur de copie ?)
Peut-être qu'en nous donnant ton code complet (ta requête est bien générée dans un script autre ? En php peut-être ?) on pourrait pointer cette autre erreur.
Une autre solution, en exécutant la requête c'est de l'afficher à l'écran une fois générée (avec les variables remplacées par leur valeur) pour bien s'assurer qu'elle correspond à ce que tu veux.
Xavier
il n'y a pas d'histoire de "in" qui prime sur le "out". On est dans une logique purement booléenne, tu as un AND entre tes deux clauses, donc il faut nécessairement que les deux clauses soient vérifiées pour qu'une ligne se retrouve dans ton résultat.
Si ton "out" n'est pas pris en compte, c'est qu'il y a un autre problème (par exemple, dans la requête que tu as collée, il y a une espace entre le "value" et le "1"... Erreur de copie ?)
Peut-être qu'en nous donnant ton code complet (ta requête est bien générée dans un script autre ? En php peut-être ?) on pourrait pointer cette autre erreur.
Une autre solution, en exécutant la requête c'est de l'afficher à l'écran une fois générée (avec les variables remplacées par leur valeur) pour bien s'assurer qu'elle correspond à ce que tu veux.
Xavier
jordane45
Messages postés
38241
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 septembre 2024
4 689
25 avril 2017 à 00:20
25 avril 2017 à 00:20
Bonjour,
Au pire .. avec un sous select
Au pire .. avec un sous select
SELECT Q.* FROM ( SELECT T.* FROM table1 T WHERE T.value1 IN ($varin) )Q WHERE Q.value1 NOT IN($varout)
Bonjour Jordane
Je ne comprends pas la logique qui t'amène à proposer une autre forme alors que sa requête est a priori correcte.
C'est conforter les gens dans l'opinion beaucoup trop répandue sur ce forum que programmer, c'est essayer des formules magiques au hasard jusqu'à ce qu'on tombe sur la bonne, plutôt que d'essayer de comprendre les règles des langages.
Il est clair que le problème de Moz n'est pas dans la forme de sa requête. Lui proposer de la changer, c'est l'induire en erreur en le laissant croire qu'elle est incorrecte.
Je ne comprends pas la logique qui t'amène à proposer une autre forme alors que sa requête est a priori correcte.
C'est conforter les gens dans l'opinion beaucoup trop répandue sur ce forum que programmer, c'est essayer des formules magiques au hasard jusqu'à ce qu'on tombe sur la bonne, plutôt que d'essayer de comprendre les règles des langages.
Il est clair que le problème de Moz n'est pas dans la forme de sa requête. Lui proposer de la changer, c'est l'induire en erreur en le laissant croire qu'elle est incorrecte.
23 avril 2017 à 23:20
Sûrement parce que ses listes sont des variables et qu'il ne sait pas a priori ce qu'il y a dedans.