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

Langage SQL Discussion :

[Debutant] Probleme sur un select


Sujet :

Langage SQL

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Points : 1 111
    Points
    1 111
    Par défaut [Debutant] Probleme sur un select
    Bonjour,

    je ne suis pas très familier avec le SQL, et il y a une requete que je n'arrive pas a faire (je suis sous SQL server). J'espere que vous pourrez m'aider.

    Voici mon probleme :

    J'ai 2 tables:
    une table GENERAL avec 3 colonnes :GAMME,NUMERO,CODEFICHE
    et une table DESCRIPTION avec 2 colonnes : CODEFICHE et TEXTEFICHE

    Je veux réunir ces tables via une requete select pour obtenir une vue avec les colonnes GAMME,NUMERO,CODEFICHE et TEXTEFICHE.

    J'ai donc fait la requete suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT GENERAL.GAMME,GENERAL.NUMERO,GENERAL.CODEFICHE,DESCRIPTION.TEXTEFICHE
    FROM GENERAL, DESCRIPTION
    WHERE 
    (GENERAL.CODEFICHE= DESCRIPTION.CODEFICHE)
    ORDER BY GENERAL.NUMERO
    Cela fonctionne, mon probleme c'est que pour certains numéros, je n'ai pas de codefiche. j'aimerais que ces numeros apparaissent dans le résultat de ma requete, avec une colonne textefiche vide.

    je ne sais pas comment faire.

    j'ai modifié ma requete en changeant ma condition WHERE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    WHERE 
    (GENERAL.CODEFICHE= DESCRIPTION.CODEFICHE OR GENERAL.CODEFICHE='')
    les numéros apparaissent bien, mais pour chaque numéro ou le codefiche n'existe pas, j'ai plusieurs ligne (une pour chaque ligne de TEXTEFICHE), ce n'est pas ce que je cherchais a faire, je voudrais une seule ligne par numéro avec un champs vide dans TEXTEFICHE.

    Merci d'avance pour votre aide.
    Bonne journée.

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Il faut utiliser une jointure externe. Avec votre GENERAL.CODEFICHE = DESCRIPTION.CODEFICHE, vous exprimez une equi-jointure qui, en écriture SQL normalisée, doit être écrite avec un INNER JOIN.

    Pour conserver les lignes qui n'ont pas d'enregistrement lié dans DESCRIPTION :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ...
    FROM GENERAL
    LEFT JOIN DESCRIPTION ON GENERAL.CODEFICHE = DESCRIPTION.CODEFICHE
    ...
    Pour plus d'informations, je vous conseille de lire ceci : http://sqlpro.developpez.com/cours/sqlaz/jointures/

    Les jointures vous seront faciles par la suite.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    948
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 948
    Points : 1 111
    Points
    1 111
    Par défaut
    Formidable, merci beaucoup pour la réponse, je me doutais bien que c'etait quelquechose de pas très compliqué a faire mais quand on ne sait pas ou chercher...

    Merci encore.

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

Discussions similaires

  1. Probleme sur requete "Select for update"
    Par claudge dans le forum DB2
    Réponses: 13
    Dernier message: 17/09/2013, 17h55
  2. Petit probleme sur un select case
    Par Nono Sto dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/12/2012, 17h49
  3. Probleme sur un SELECT DISTINCT
    Par pierre50 dans le forum Débuter
    Réponses: 3
    Dernier message: 13/03/2012, 23h17
  4. [e-00][debutant]probleme dans la selection de ranges
    Par cladsam dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/02/2009, 16h54
  5. [ODBC] Probleme sur un SELECTED de SELECT avec PHP
    Par G.D.O dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 27/03/2006, 15h44

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