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 :

Jointure entre deux tables et retraitements


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Points : 53
    Points
    53
    Par défaut Jointure entre deux tables et retraitements
    Bonjour,

    Voici mon problème : J'effectue deux retraitements sur deux tables distinctes, et je souhaite ensuite faire un rapprochement entre ces tables grâce à une clé unique contenue dans l'une et l'autre de ces tables.
    J'aimerais bien pouvoir effectuer cette opération grâce à une seule opération SQL, mais j'ai à chaque fois un message d'erreur.

    Voici les retraitements séparés sur les deux tables qui fonctionnent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    create table Nom_Table1 as
    select Type_Garantie, count(ID_Garantie) as Nbre_Garanties, SUM(Montant_Garantie) as Montant_Garantie_Recue, Eligibilite
    from Table_1
    group by Type_Garantie, Eligibilite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    create table Nom_Table1 as
    select Type_Garantie, sum(Expositions) as Montant exposition
    from Table_2
    group by Type_Garantie;
    J'aimerais réaliser une jointure entre ces deux tables grâce au "type de garantie", et réaliser toute l'opération de retraitement et de jointure dans une seule procédure. Quelqu'un aurait-il une idée s'il vous plaît ?

    J'ai déjà pensé à deux solutions qui ne fonctionnement pas

    Merci d'avance !

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 801
    Points : 34 063
    Points
    34 063
    Billets dans le blog
    14
    Par défaut
    En une seule requête, tu peux joindre directement les deux sous-requêtes au lieu de créer deux tables.
    En plus, tes deux tables portent le même nom dans le code que tu nous donnes ; ça m'étonnerait que ça fonctionne tel quel !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    SELECT -- des colonnes
    FROM
    (
    	SELECT Type_Garantie, count(ID_Garantie) AS Nbre_Garanties, SUM(Montant_Garantie) AS Montant_Garantie_Recue, Eligibilite
    	FROM Table_1
    	GROUP BY Type_Garantie, Eligibilite
    ) t1
    INNER JOIN
    (
    	SELECT Type_Garantie, sum(Expositions) AS Montant exposition
    	FROM Table_2
    	GROUP BY Type_Garantie
    ) t2
    	ON t2.Type_Garantie = t1.Type_Garantie

  3. #3
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    3 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 173
    Points : 5 345
    Points
    5 345
    Par défaut
    bonjour,

    les jointures c'est par ici : http://sqlpro.developpez.com/cours/sqlaz/jointures/

    Vu que votre group by porte sur des dimenssions différentes il va surement falloir passer par une sous-requête.


    Postez vos essais.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 113
    Points : 53
    Points
    53
    Par défaut
    Merci CinePhil, j'ai appliqué ce type de jointure, et cela fonctionne correctement

    Bonne journée,

    Thibo

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

Discussions similaires

  1. Jointure entre deux tables ?
    Par spirit69 dans le forum Access
    Réponses: 2
    Dernier message: 05/12/2006, 20h21
  2. jointure entre deux tables mysql
    Par Invité dans le forum SQL Procédural
    Réponses: 7
    Dernier message: 23/04/2006, 20h08
  3. [MySQL] Jointure entre deux tables
    Par Flushovsky dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 03/10/2005, 18h55
  4. PROBLEME DE JOINTURE ENTRE DEUX TABLE
    Par DarkMax dans le forum Langage SQL
    Réponses: 13
    Dernier message: 13/01/2005, 15h11
  5. Jointure entre deux tables et résultat
    Par Asdorve dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/06/2004, 14h50

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