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

PostgreSQL Discussion :

Eliminer les rédondences dans une jointure de tables


Sujet :

PostgreSQL

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 25
    Points : 11
    Points
    11
    Par défaut Eliminer les rédondences dans une jointure de tables
    Salut à tous,
    g un sérieux problème. S8 débutant en PostgreSQL. J'essaie depuis longtemps déjà de résoudre le problème suivant.

    J'ai plusieurs tables (3): l'une contient des address (Addresse), l'une des numéros de téléphone (Telephone) et la dernière des compagnies (Company).
    Elles se présentent à peut près comme ceci (simplifié):

    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
    20
    21
    22
    23
    24
    Address:
    Rue | code_postal | company_id 
    ------------------------------
          |                  | 123
          |                  | 123
          |                  | 456
          |                  | 456 
          |                  | 324
     
    Telephone:
    numero_buro | numéro_portable | company_id
    ---------------------------------------------
    015489789   | 061235897         | 123 
    033589631   | 065321477         | 123
    015489637   | 064123588         | 456
    033548794   | 064987532         | 456
    033333333   | 066666666         |324
     
    Company:
    name | middlename | firstname | company_id
    ---------------------------------------------
    eric   |                  | Bouyot   | 123
    jacky |                  |Dubois     | 456
    Geoge|                  |Postgre   | 324
    Ce ke j'aimerais, c faire une requète ki me donne les infos suivantes: name, firstname, numéro_buro, numéro_portable.

    Pour cela, je procède comme suit:

    SELECT a.rue, a.code_postal, t.numero_buro, t.numero_portbale, c.name, c.firstname FROM address as a, telephone as t, company as c WHERE c.compay_id = t.company_id
    c.company_id = a.company_id;

    Le résultat obtenu ne me satisfait pas. Dans le k par expleme de la table téléphone où pour par exemple dans le champ company_id on a 2 identiques, j'aimerai avoir la deuxième ligne de nouveau sur une colonne pour éviter des lignes répétitive.

    Est-ce cela possible?

    Merci pour toute aide!

  2. #2
    Membre à l'essai
    Inscrit en
    Mai 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 4
    Points : 10
    Points
    10
    Par défaut
    Si je comprends bien, tu souhaites obtenir un résultat dont une colonne contient l'identifiant d'une compagnie et une autre contient la liste des numéros de téléphone de cette compagnie.

    Si c'est le cas, ceci requiert l'opérateur COLLECT défini dans SQL2003 qui, à ma connaissance, n'est pas implémenté sous postgresql.

    Stéphane.

    Ps : pour tes prochains messages évitent les abbréviations. Ca permettra a tout le monde de comprendre plus vite et d'avoir envie de te répondre.

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Meri pour ta réponse,
    mais c'est pas tout à fait ca. En fait je voudrais bien une ligne line seulement pour "company_id". Ca voudrais dire, au lieu d'avoir plusieurs lignes avec le meme "company_id", j'aimerais ajouter plutot davantage de colonne. Ceci parce ke j'aimerais exporter la table résultante dans un fichier pour groupwise. donc je voudrais une seule company_id avec toutes ses informations. Est-ce cela possible?

    Je ne sais pas si je suis assez clair dans mon explication. Sinon possez des questions.

    Merci

    odi_9

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/02/2014, 22h14
  2. Réponses: 42
    Dernier message: 07/07/2012, 09h16
  3. Eliminer les espaces dans une chaine de caractere
    Par sialafrere dans le forum WinDev
    Réponses: 2
    Dernier message: 02/05/2008, 21h42
  4. Trouver les NULL dans une jointure
    Par atar64 dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/09/2007, 23h30
  5. eliminer les vides dans une liste
    Par alphonse62 dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 08/05/2007, 18h13

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