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

SQL Firebird Discussion :

condition si dans sql


Sujet :

SQL Firebird

  1. #1
    Membre éclairé

    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2010
    Messages
    297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2010
    Messages : 297
    Points : 705
    Points
    705
    Par défaut condition si dans sql
    J’ai la requête sql suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    select 
        montant_ttc,
        forfait,
        montant_ttc/1.17 as montant_ht,
        montant_ttc-(montant_ttc / 1.17) as tva,
        forfait- (montant_ttc / 1.17) as retenue
    from factures;
    montant_ttc , forfait sont des champs de la table factures.
    montant_ht, tva, retenue sont des champs calculés

    Le champ "retenue" contiendra des valeurs négatives, positives et nulles.
    Les valeurs négatives sont celles qui m'intéressent.
    Est ce qu'il y a une possibilité d'avoir un null à la place de chaque valeur positive ou nulle de la retenue ??

    Exemple:
    Ce que j'obtiens :
    montant_ttc forfait montant_ht tva retenue
    3500 3500 2991.45 508.54 508.54
    2000 1500 1709.40 290.59 -209.40
    1700 1500 1452.99 247.00 47.00

    Ce que je veux obtenir :

    montant_ttc forfait montant_ht tva retenue
    3500 3500 2991.45 508.54 null
    2000 1500 1709.40 290.59 -209.40
    1700 1500 1452.99 247.00 null

    J’utilise firebird comme sgbd et je rappel que c'est une requête donc je ne peux pas utiliser les triggeres.

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Utilise IIF.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT 
        montant_ttc,
        forfait,
        montant_ttc/1.17 AS montant_ht,
        montant_ttc-(montant_ttc / 1.17) AS tva,
        IIF(forfait- (montant_ttc / 1.17) >= 0, NULL, forfait- (montant_ttc / 1.17) AS retenue
    FROM factures;
    @+

  3. #3
    Membre éclairé

    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Décembre 2010
    Messages
    297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2010
    Messages : 297
    Points : 705
    Points
    705
    Par défaut
    aprés l'ajout des parenthese :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IIF((forfait- montant_ttc / 1.17) <= 0, NULL, forfait- montant_ttc / 1.17) AS retenue
    ça marche trés bien.
    merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Condition dans SQL LOADER
    Par xeron33 dans le forum SQL*Loader
    Réponses: 3
    Dernier message: 18/01/2013, 21h29
  2. Réponses: 25
    Dernier message: 15/03/2011, 08h41
  3. condition SI dans le code SQL
    Par franoisiup dans le forum Langage SQL
    Réponses: 1
    Dernier message: 20/04/2009, 23h04
  4. [SQL]insérer une condition IF dans une requete
    Par freija dans le forum Langage SQL
    Réponses: 1
    Dernier message: 01/09/2006, 20h08
  5. Mettre une condition if dans une requete sql
    Par Sardonnen dans le forum Oracle
    Réponses: 4
    Dernier message: 24/03/2006, 11h25

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