UNION DE DEUX TABLES [Résolu]

Signaler
Messages postés
11
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
14 juillet 2011
-
Messages postés
11
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
14 juillet 2011
-
Bonjour tous!
Je dois traiter deux balances comptables provenant de Excel. Pour le faire je dois fusionner les deux balances et l'exploiter pour sortir plusieurs états d'analyse en fonction des différentes requêtes.Voici la structure de mes deux tables:
T_BalanceN : NumcpteN, LibelleN, SoldebitN
T_BalanceN1: NumcpteN1, LibelleN1, SoldebitN1

Je veux avoir Numcpte, Libelle, Soldebit, Soldcredit
Quand je fait une requete directe du type
SELECT T_BalanceN.NumcpteN, T_BalanceN.LibelleN, T_BalanceN.SoldebitN
FROM T_BalanceN
WHERE (((T_BalanceN.NumcpteN) Like "65*"));
UNION ALL SELECT T_BalanceN1.NumcpteN1, T_BalanceN1.LibelleN1, T_BalanceN1.SoldebitN1 As Soldebit
FROM T_BalanceN1
WHERE (((T_BalanceN1.NumcpteN1) Like "65*"));
Je n'arive pas à avoir le resultat recherché.
Je sollicite votre aide pour que je puisse avancer. Merci à Tous

11 réponses

Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
286
Bonjour,

il faut enlever le premier ";" et fermer les parenthèses ouvertes :

SELECT T_BalanceN.NumcpteN, T_BalanceN.LibelleN, T_BalanceN.SoldebitN, null as SoldebitN1
FROM T_BalanceN
WHERE T_BalanceN.NumcpteN Like "65*"

UNION ALL

SELECT T_BalanceN1.NumcpteN1 as NumcpteN, T_BalanceN1.LibelleN1 as LibelleN, null as SoldebitN, T_BalanceN1.SoldebitN1
FROM T_BalanceN1
WHERE T_BalanceN1.NumcpteN1 Like "65*"; 
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
26
Salut,

Quelle est le message d'erreur?

Renomme les colonnes de la seconde requete pour que les noms correspondent?
Messages postés
11
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
14 juillet 2011

Merci pour votre réaction . Pas que j'ai un message d'erreur. Mais j'aimerais que au final j'ai ceci
Numcpte, Libelle, SoldebitN, SoldeditN1
Alors que le résultat de ma requête me donne SoldebitN et SoldebitN1 dans la même colonne.

C'est créer une quatrième colonne avec SoldebitN avec les regroupements qui est mon problème
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
26
Peut etre un truc du genre
SELECT T_BalanceN.NumcpteN, T_BalanceN.LibelleN, T_BalanceN.SoldebitN, null as SoldebitN1 
FROM T_BalanceN
WHERE (((T_BalanceN.NumcpteN) Like "65*"));

UNION ALL 

SELECT T_BalanceN1.NumcpteN1 as NumcpteN, T_BalanceN1.LibelleN1 as LibelleN,  null as SoldebitN, T_BalanceN1.SoldebitN1 
FROM T_BalanceN1
WHERE (((T_BalanceN1.NumcpteN1) Like "65*")); 

Messages postés
11
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
14 juillet 2011

Merci, mais un message d'erreur qui est le suivant: INSTRUCTION SQL NON VALIDE : DELETE, INSERT,PROCEDURE .... attendue
Messages postés
11
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
14 juillet 2011

Merci Julien39, voici le resultat de la requête.
NumcpteN LibelleN SoldebitN SoldebitN1
6511000300 ARRONDI DE PAIE 30412
6511000300 ARRONDI DE PAIE 22660

Mais ça ne me satisfait pas trop parce qu'il y a des doublons de Numcpte et j'aimerais avoir par exemple
NumcpteN LibelleN SoldebitN SoldebitN1
6511000300 ARRONDI DE PAIE 30412 22660
Comment eliminer les doublons pour les regrouper sur la m^me ligne
Messages postés
11
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
14 juillet 2011

Salut à tous;

Je voudrais savoir s'il est possible de créer une requête de jointure entre deux tables qui ne sont pas en relation directe
Messages postés
11
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
14 juillet 2011

Salut à tous,
Je voudrais qu'on corrige cette requête pour moi . Parce que quand je l'exécute, j'ai le message suivant: Erreur de syntaxe dans la clause FROM

SELECT T_BalanceN.NumcpteN, T_BalanceN.LibelleN, T_BalanceN.SoldebitN, T_BalanceN1.SoldebitN1
FROM T_BalanceN
FULL OUTER JOIN T_BalanceN ON T_BalanceN.NumcpteN= T_BalanceN1.NumcpteN
WHERE T_BalanceN1.NumcpteN1 Like "65*"
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
26
Mets un alias sur les 2 tables de maniere a les distinguer ou corriges le nom en T_BalanceN1 pour la seconde.

le full outer join, c'est pour des lignes qui ont des données soit en années N ou N- 1 ou les 2?
C'est ce que tu recherches.
Messages postés
11
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
14 juillet 2011

Bonjour NHERVAGAULT,
Merci, effectivement c'est ce que je recherche. Si tu pouvais corriger ma requête pour que je puisse afficher les données des deux avec la condition selon le numéro de compte.
Messages postés
11
Date d'inscription
lundi 18 juillet 2005
Statut
Membre
Dernière intervention
14 juillet 2011

Bonjour NHERVAGAULT,

Effectivement c'est ce que je recherche. Afficher les données sur les deux années selon un critère. Je souhaiterais tu corrige ma requête pour que je puisse afficher ces données