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

Bases de données Delphi Discussion :

Condition en langage SQL


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 65
    Par défaut Condition en langage SQL
    Bonjour,

    Je fait une requête qui me retourne une valeur. J'aimerais pouvoir dire que si cette valeur est plus grande que 100 elle deviene = 100.

    Avec quelque chose de ce genre la
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    If (SELECT count(*) FROM MaTable) > 100 then SELECT 100 ELSE SELECT count(*) FROM MaTable

    Le problème c'est que je ne sais pas comment faire une condition en SQL

  2. #2
    Expert confirmé
    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 : 62
    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
    Par défaut
    Salut

    Quelque chose comme ça ?
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT
      IIF(CNT > 100, 100, CNT)
    FROM (SELECT COUNT(*) CNT FROM MA_TABLE);

    @+

  3. #3
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 65
    Par défaut
    Dsl mais je ne comprends pas très bien à quoi correspondent les lignes de code pourrais-tu mettre des commentaires stp

  4. #4
    Expert confirmé
    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 : 62
    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
    Par défaut
    Ce n'est pas bien compliqué pourtant !
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT
      IIF(CNT > 100,  -- Condition sur le nb d'enreg: si > 100
           100,           -- Si oui, limiter le résultat à 100
           CNT)          -- Si non renvoyer le nombre exact
    FROM (
      -- Sous requête de comptage des enregistrements
      -- renvoie un champ CNT contenant le résultat du comptage
      SELECT COUNT(*) AS CNT FROM MA_TABLE);

    Ceci dit je ne vois pas trop à quoi sert cette requête.

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2010
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 65
    Par défaut
    MySQL me dit "erery derived table must have its own alias"
    J'ai essayer en changeant l'alias mais sa ne change rien

  6. #6
    Membre Expert
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 157
    Par défaut
    le message indique l'alias de table, non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT
      IIF(Compte.CNT > 100, 100, Compte.CNT)
    FROM (SELECT COUNT(*) CNT FROM MA_TABLE) AS Compte

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

Discussions similaires

  1. Condition != en langage sql
    Par mullger dans le forum Langage SQL
    Réponses: 1
    Dernier message: 16/11/2007, 10h19
  2. condition if en sql
    Par ushiwa.sasuke dans le forum Langage SQL
    Réponses: 9
    Dernier message: 23/08/2005, 09h10
  3. Langage SQL propore à chaque SGBD
    Par Pascal Jankowski dans le forum Bases de données
    Réponses: 4
    Dernier message: 12/03/2004, 09h16
  4. Cours, tutoriels, logiciels, F.A.Q,... pour le langage SQL
    Par Marc Lussac dans le forum Langage SQL
    Réponses: 0
    Dernier message: 04/04/2002, 10h21

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