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 :

sous select ou proc stockée


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 423
    Par défaut sous select ou proc stockée
    Bonjour,

    J'ai besoin de votre aide sur une requête précise, que je n'arrive pas à résoudre.
    D'abord, je suis sous FB 1.5.

    J'ai deux tables (T2 et Test) dont voici le contenu (ce sont des tables de test pour simplifier ma demande)

    table t2
    CREF..........CDESIGN
    41..........d41
    42..........d42
    43..........d43
    44..........d44

    table test
    REF..........PX..........CLI
    41..........99..........0
    41..........70..........1
    42..........99..........0
    43..........97..........0
    44..........99..........0
    44..........83..........1
    44..........70..........2
    44..........93..........3
    43..........65..........2

    J'ai besoin de faire une requête SQL pour extraire tous les champs de ces deux tables
    avec le lien sur t2.CREF sur Test.REF.
    par exemple
    WHERE
    t2.cref like '4%'
    and
    test.cli = 1 (ou si 1 n'existe pas test.cli = 0) et c'est là qu'est mon problème, car dans tous les cas il existe une ligne dans la table test avec le champ CLI à 0. C'est cette ligne qu'il me faut si TEST.CLI n'existe pas avec la valeur 1.

    Voici le résultat que je voudrais obtenir:

    CREF.....CDESIGN.....REF.....PX.....CLI
    41.....d41.....41.....70.....1
    42.....d42.....42.....99.....0
    43.....d43.....43.....97.....0
    44.....d44.....44.....83.....1

    J'ai essayé avec une sous requête, mais nada je n'y arrive pas...

    Merci d'avance pour votre aide.

  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

    Avec ceci, cela devrait aller je pense:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT
      T.REF, T2.CDESIGN, T.PX, T.CLI
    FROM
      TEST T INNER JOIN TABLE2 T2
      ON T.REF = T2.CREF
    WHERE
      (T.CLI = 1) OR
      (T.CLI = 0 AND T.REF NOT IN(SELECT DISTINCT REF FROM TEST WHERE CLI = 1));
    @+

  3. #3
    Membre éclairé
    Avatar de castorcharly
    Homme Profil pro
    Chef de projet
    Inscrit en
    Février 2009
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Février 2009
    Messages : 423
    Par défaut
    Citation Envoyé par Cl@udius Voir le message
    Salut

    Avec ceci, cela devrait aller je pense:
    @+
    C'est parfait et en plus je vais apprendre qq. car je ne comprends pas encore ton sous select.

    Merci beaucoup.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/11/2007, 09h37
  2. Problème proc. stockée sous Oracle 8
    Par davy.g dans le forum Oracle
    Réponses: 10
    Dernier message: 05/09/2007, 08h58
  3. Faire un simple SELECT dans une Proc. Stock
    Par MaelstroeM dans le forum Oracle
    Réponses: 2
    Dernier message: 29/08/2007, 09h27
  4. Réponses: 9
    Dernier message: 23/09/2006, 17h13
  5. Réponses: 2
    Dernier message: 29/03/2006, 09h38

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