Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1718 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Mysql exclure double critère

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Mysql exclure double critère

n°2248319
stefaninho
Posté le 14-01-2015 à 10:13:07  profilanswer
 

Salut,  
Bon la réponse est surement toute conne mais j'ai un gros problème de logique avec ces trucs.  :pt1cable:  
 
En gros en mysql

Code :
  1. Client|Prix|crit1|crit2|crit3


Je veux exclure ceux qui ont une certaine combinaison 2 et 3
 
Bêtement j'ai fait :
Select sum(prix)
From table  
Where crit1 = 'XXX'
AND (crit2 not in ('AAA', 'BBB') ' AND crit3 not in ('CCC', 'DDD'))
GROUP BY client
Mais je retrouve pas ce que je veux pour l'instant et je doute de ma méthode.  
 
C'est quoi la bonne syntaxe ou logique à avoir ?  
 
Merci.


Message édité par stefaninho le 14-01-2015 à 10:14:51

---------------
Et vous, quel est votre Final Fantasy préféré ?  
mood
Publicité
Posté le 14-01-2015 à 10:13:07  profilanswer
 

n°2248325
antac
..
Posté le 14-01-2015 à 10:45:56  profilanswer
 

Je comprends pas, c'est quoi ta combinaison ?
 
Donne nous la composition de ta table et ce que tu attends comme résultat ?
 

n°2248338
rufo
Pas me confondre avec Lycos!
Posté le 14-01-2015 à 11:19:49  profilanswer
 

Déjà, on pourrait étrange de trouver les critères dans la table alors que le couple client/prix semble dépendre d'une relation 1-n concernant les critères :/
 
En tout cas, par rapport à ce que tu demandes et expliques, ta requête est correcte et fait ce que tu veux.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2248370
stefaninho
Posté le 14-01-2015 à 14:18:44  profilanswer
 

antac a écrit :

Je comprends pas, c'est quoi ta combinaison ?
 
Donne nous la composition de ta table et ce que tu attends comme résultat ?
 


La en l’occurrence si c'est AAA ET DDD je le prend pas, par contre si c'étais AAA ET FFF je l'aurais pris.  
 

rufo a écrit :

Déjà, on pourrait étrange de trouver les critères dans la table alors que le couple client/prix semble dépendre d'une relation 1-n concernant les critères :/
 
En tout cas, par rapport à ce que tu demandes et expliques, ta requête est correcte et fait ce que tu veux.


Oui j'ai pas détaillé, c'est une table de facturation en fait  :D  
L'id c'est le numéro de facture, en fait la requête et la table sont beaucoup plus grosse , moi je veux juste rajouter ma condition pour exclure certaines combinaison du calcul.  
 
Merci de confirmer la procédure, d'expérience je sais que mon cerveau fait un blocage la dessus.  :o

Message cité 2 fois
Message édité par stefaninho le 14-01-2015 à 14:26:39

---------------
Et vous, quel est votre Final Fantasy préféré ?  
n°2248374
antac
..
Posté le 14-01-2015 à 14:31:31  profilanswer
 

stefaninho a écrit :


La en l’occurrence si c'est AAA ET DDD je le prend pas, par contre si c'étais AAA ET FFF je l'aurais pris.  
 


 

stefaninho a écrit :


Oui j'ai pas détaillé, c'est une table de facturation en fait  :D  
L'id c'est le numéro de facture, en fait la requête et la table sont beaucoup plus grosse , moi je veux juste rajouter ma condition pour exclure certaines combinaison du calcul.  
 
Merci de confirmer la procédure, d'expérience je sais que mon cerveau fait un blocage la dessus.  :o


 
Ce que tu as marqué dans ta requête c'est :
Il faut que crit1='XXX'
Il faut que crit2 soit différent de AAA et de BBB
il faut que crit3 soit différent de CCC et de DDD
 
Crit1,Crit2 et Crit3 sont des restrictions indépendantes l'une de l'autre dans ta requête.
 
Je vois pas trop ce que tu veux faire


Message édité par antac le 14-01-2015 à 14:41:14
n°2248375
stefaninho
Posté le 14-01-2015 à 14:32:36  profilanswer
 

Même avec les parenthèses ?  
 
Du coup quelle est la bonne syntaxe?


---------------
Et vous, quel est votre Final Fantasy préféré ?  
n°2248380
rufo
Pas me confondre avec Lycos!
Posté le 14-01-2015 à 14:44:25  profilanswer
 

stefaninho a écrit :


La en l’occurrence si c'est AAA ET DDD je le prend pas, par contre si c'étais AAA ET FFF je l'aurais pris.  
 


Alors dans ce cas, ta requête ne marche pas. Fais une table de vérité pour trouver la bonne équation logique ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2248381
rufo
Pas me confondre avec Lycos!
Posté le 14-01-2015 à 14:45:01  profilanswer
 

stefaninho a écrit :

Même avec les parenthèses ?  
 
Du coup quelle est la bonne syntaxe?


C'est pas un pb de syntaxe SQL mais de logique (et pas qu'un pb de parenthèses).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2248397
stefaninho
Posté le 14-01-2015 à 16:21:27  profilanswer
 

Je sais Rufo, crois bien que j'y met de la bonne volonté c'est pas la première fois que j'ai ce problème, mais ça veut pas.  :(  
 
Du coup j'ai quand même relu ça :
http://fr.wikipedia.org/wiki/Table_de_v%C3%A9rit%C3%A9
 
Mais y'a pas, je comprend pas.  :fou:


---------------
Et vous, quel est votre Final Fantasy préféré ?  
n°2248401
antac
..
Posté le 14-01-2015 à 16:28:51  profilanswer
 

Tu fait un tableau avec tes trois paramètres : crit1, crit2 et crit3
Puis tu fais varier les valeurs de ces 3 critères pour savoir si c'est bon ou pas en fonction des valeurs.
 
Par exemple
 
Crit1 crit2 Crit3 Res
AAA BBB CCC OK
AAA CCC CCC Pas OK
AAA DDD CCC Pas OK
BBB AAA BBB OK
BBB CCC DDD OK
...
 
Faut prendre tous les cas possibles... Parceque là tu es pas clair du tout
 

mood
Publicité
Posté le 14-01-2015 à 16:28:51  profilanswer
 

n°2248406
stefaninho
Posté le 14-01-2015 à 16:49:52  profilanswer
 

Je vais essayer de te faire un énoncé plus clair.  
 
Numéro facture | client | montant | categorie du client | categorie du produit
 
Je veux le montant total en excluant les categorie de produit 001 , 002 chez les categorie de client ZZZ, YYY  
 
Edith : J'aurais pas du prendre le l'alpha pour les deux critères ca prete à confusion en effet donc mon tableau :  
 
001 ZZZ exclu
001 YYY exclu
001 XXX Ok
002 ZZZ exclu
002 YYY exclu
003 ZZZ ok
003 YYY ok
003 XXX ok

Message cité 1 fois
Message édité par stefaninho le 14-01-2015 à 16:53:42

---------------
Et vous, quel est votre Final Fantasy préféré ?  
n°2248410
rufo
Pas me confondre avec Lycos!
Posté le 14-01-2015 à 16:58:14  profilanswer
 

stefaninho a écrit :

Je sais Rufo, crois bien que j'y met de la bonne volonté c'est pas la première fois que j'ai ce problème, mais ça veut pas.  :(  
 
Du coup j'ai quand même relu ça :
http://fr.wikipedia.org/wiki/Table_de_v%C3%A9rit%C3%A9
 
Mais y'a pas, je comprend pas.  :fou:


Pour être précis, pour trouver l'équation booléenne, c'est le tableau de Karnaugh qu'il faut faire : http://fr.wikipedia.org/wiki/Table_de_Karnaugh


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2248411
stefaninho
Posté le 14-01-2015 à 17:05:34  profilanswer
 

Mais c'est si compliqué que ça ce que je demande ?  :sweat:


---------------
Et vous, quel est votre Final Fantasy préféré ?  
n°2248413
rufo
Pas me confondre avec Lycos!
Posté le 14-01-2015 à 17:13:09  profilanswer
 

Ben l'équation booléenne tenant compte de tes critères ne semble pas être triviale quand on voit ton dernier tableau :/
Pour avoir OK, il faut prendre les enregistrements qui contiennent soit :
003
001 et XXX
aucun 002
 
Soit tu exposes mal ton pb, soit les critères de sélection des bons enregistrements à conserver ne sont pas triviaux :/
Ca peut peut-être venir aussi du fait que ta BD est mal structurée (pour le traitement que tu veux faire dans ce cas particulier).


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2248416
stefaninho
Posté le 14-01-2015 à 17:28:11  profilanswer
 

J'ai pas l'impression que ce soit compliqué ca doit venir de moi.  
Il manque une entrée à mon tableau.  
002 XXX ok
 
en gros je prends tout les 002 sauf les 002 ZZZ et 002 YYY
 
L'autre solution c'est de calculer le montant que je ne veux pas prendre puis de le soustraire du montant total, mais je voulais un truc plus propre et simple.


---------------
Et vous, quel est votre Final Fantasy préféré ?  
n°2248424
antac
..
Posté le 14-01-2015 à 18:57:26  profilanswer
 

stefaninho a écrit :

Je vais essayer de te faire un énoncé plus clair.  
 
Numéro facture | client | montant | categorie du client | categorie du produit
 
Je veux le montant total en excluant les categorie de produit 001 , 002 chez les categorie de client ZZZ, YYY  
 
Edith : J'aurais pas du prendre le l'alpha pour les deux critères ca prete à confusion en effet donc mon tableau :  
 
001 ZZZ exclu
001 YYY exclu
001 XXX Ok
002 ZZZ exclu
002 YYY exclu
003 ZZZ ok
003 YYY ok
003 XXX ok


 
 
WHERE (produit NOT IN ('001','002')) OR (categ NOT IN  ('ZZZ','YYY'))

n°2248427
stefaninho
Posté le 14-01-2015 à 19:42:06  profilanswer
 

:jap: Vais tester ça demain.  


---------------
Et vous, quel est votre Final Fantasy préféré ?  

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Mysql exclure double critère

 

Sujets relatifs
[Mysql] Pertinence des résultats avec MATCH / AGAINSTSite à double colonne avec une à largeur fixe et une autre ajustable
Envoi données vers base mysql[Mysql] DB Mediawiki ne contient plus que hitcounter et searchindex
Aide php mySql[Mysql] redéfinition des id auto incrémentés après suppression
Problème lien Access-MySQLAjout datas BDD MYsql
Envois d'un double tableau à une fonctionRecherche dans arborescence et exclure dossier
Plus de sujets relatifs à : Mysql exclure double critère


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR