IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MySQL Discussion :

soustration, resultat positif dans une requette


Sujet :

MySQL

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 314
    Par défaut soustration, resultat positif dans une requette
    Bonsoir,

    J'effectue une requette SQL dans laquelle j'effectue une soustraction, je désire que cette soustraction ne soit pas négative,

    par exemple


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select prix1, prix2, qte, (prix1*(20-qte)) as total from matable
    Il est possible que qte soit suppérieur à 20, si c'est le cas je ne voudrais pas que le résultat de la soustration soit négatif.

    Y'a t il une fonction pour cela ?

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    salut,

    et tu voudrais que ca fasse quoi?
    en utilisant la valeur absolue peut être?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 314
    Par défaut
    Non je veux que si le résultat de la soustraction est négatif que ca donne 0

    par exemple :

    qte = 30;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT prix1, prix2, qte, (prix1*(20-qte)) AS total FROM matable
    résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT prix1, prix2, qte, (prix1*(0)) AS total FROM matable
    Qte = 10
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT prix1, prix2, qte, (prix1*(10)) AS total FROM matable
    j'ai essayer avec al fonction IF() mais je n'ai pas réussi a l'intégrer dans ma requette !

  4. #4
    Membre Expert
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Par défaut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF(qte>20, 0, prix1*(20-qte))
    Ça ne le fait pas ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 314
    Par défaut
    J'ai des résultats totalement faux !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    CREATE TABLE IF NOT EXISTS `test` (
      `id` int(11) NOT NULL auto_increment,
      `prix1` varchar(20) NOT NULL,
      `prix2` varchar(20) NOT NULL,
      `qte` varchar(20) NOT NULL,
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
     
    --
    -- Contenu de la table `test`
    --
     
    INSERT INTO `test` (`id`, `prix1`, `prix2`, `qte`) VALUES
    (1, '10', '12', '10'),
    (2, '20', '24', '20');
     
     
    SELECT prix1, prix2, qte, (prix1*(IF(10>20, 0, prix1*(10-30)))) AS total FROM test
    me retourne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    10  	12  	10  	-2000
    20 	24 	20 	-8000

  6. #6
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    pourquoi tu multiplies deux fois par prix1?
    avec ta requête, le résultat retourné me semble normal

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 314
    Par défaut
    Ok ok exacte,

    je devrais m'en sortir !

    Super merci

Discussions similaires

  1. comment passer du code html dans une requette sql?
    Par vinceH31 dans le forum Requêtes
    Réponses: 5
    Dernier message: 23/11/2006, 18h10
  2. variable dans une requette?
    Par userJDBC dans le forum JDBC
    Réponses: 2
    Dernier message: 09/10/2006, 15h49
  3. [Tableaux] resultat sql dans une tab html
    Par digger dans le forum Langage
    Réponses: 15
    Dernier message: 26/06/2006, 12h43
  4. Récupérer un résultat oracle dans une variable
    Par claralavraie dans le forum Linux
    Réponses: 4
    Dernier message: 09/01/2006, 16h59
  5. Resultat requete dans une seule colonne
    Par mathieu--g dans le forum Sybase
    Réponses: 2
    Dernier message: 08/07/2003, 13h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo