Union de deux tables différentes

Messages postés
9
Date d'inscription
mercredi 26 mars 2003
Statut
Membre
Dernière intervention
9 mai 2011
- - Dernière réponse : aieeeuuuuu
Messages postés
698
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
20 mai 2011
- 20 mai 2011 à 14:08
Bonjour à tous,

Je suis coincé sur un problème de jointure de table:
Je dispose de deux tables où j'applique deux filtres différents selon les besoins de mes calculs.
T1[id, nom, chiffre_affaires, type_entreprise, nb_projets, calcul_1]
T2[id, nom, chiffre_affaires, type_entreprise, nb_projets, calcul_2]

Et je souhaiterais obtenir:

T3[id, nom, chiffre_affaires, type_entreprise, nb_projets, calcul_1, calcul_2]

sans doublons

Une jointure normale via l'id est impossible puisque ceux-ci peuvent être différents
J'ai tenté la commande UNION mais elle ne renvoit pas un résultat satisfaisant.

Merci pour votre aide
Afficher la suite 

4 réponses

Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
249
0
Merci
Si tes identifiants ne correspondent pas, je ne vois pas la logique de creation de T3 ?

Tu peux toujours faire une jointure avec le nom même si ce n'est pas terrible. La commande UNION fais l'union sur les lignes et pas sur les colonnes.

Je pense que ton problème réside plutôt sur le schéma de construction de ta bd.
Commenter la réponse de cs_Julien39
Messages postés
9
Date d'inscription
mercredi 26 mars 2003
Statut
Membre
Dernière intervention
9 mai 2011
0
Merci
Bonjour Julien39,
En fait T1 et T2 sont des tables déjà triées en fonction d'un critère (type_entreprise=1 pour T1 et type_entreprise=2 pour T2) elles sont déjà obtenues à partir d'une table T contenant tous les identifiants, T1 et T2 ne me servent qu'à calculer des totaux différents.
Mais je crois que je pourrai m'en sortir avec du php même si ce n'est pas élégant.

Merci
Commenter la réponse de cs_eikichi
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
249
0
Merci
Possible mais je ne vois pas comment faire le lien entre tes deux tables, désolé.

Tu devrais enlever réponse acceptée au cas ou quelqu'un serait plus inspiré que moi.

Bon courage
Commenter la réponse de cs_Julien39
Messages postés
698
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
20 mai 2011
2
0
Merci
Bonjour,

Une jointure peut fonctionner, il suffit de la faire sur les colonnes ayant les valeurs communes :

SELECT 
    T1.nom,
    T1.chiffre_affaires,
    T1.type_entreprise,
    T1.nb_projets,
    T1.calcul_1,
    T2.calcul_2
FROM T1
INNER JOIN T2
    ON T1.Nom = T2.nom
    AND T1.chiffre_affaires = T2.chiffre_affaires
    AND T1.type_entreprise = T2.type_entreprise
    AND T1.nb_projets = T2.nb_projets
Commenter la réponse de aieeeuuuuu