[Access 2003]Affichage 2 requêtes SQL en une

Résolu/Fermé
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 - 28 août 2008 à 11:42
CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 - 28 août 2008 à 13:41
Bonjour, je vous expose mon problème.
J'ai deux requête SQL que j'aimerais afficher dans une seule requête.

SELECT nego_travaux.nego_travaux, commande.nom_site, commande.code_site, commande.n_commande, commande.montant_commande, nature_commande.nature_commande, annee.année, mois.mois, [montant_commande]*([pourcent_acompte]/100) AS acompte
FROM nego_travaux INNER JOIN (nature_commande INNER JOIN (mois INNER JOIN (annee INNER JOIN commande ON annee.n_annee = commande.n_annee_acompte) ON mois.n_mois = commande.n_mois_acompte) ON nature_commande.n_nature_commande = commande.n_nature_commande) ON nego_travaux.n_nego_travaux = commande.n_nego_travaux
WHERE (((annee.n_annee)=[Formulaires]![Choix Date]![ChoixAnnee]) AND ((mois.n_mois)=[Formulaires]![Choix Date]![ChoixMois]));


Et:

SELECT nego_travaux.nego_travaux, commande.nom_site, commande.code_site, commande.n_commande, commande.montant_commande, nature_commande.nature_commande, annee.année, mois.mois, (([recollement]*(([pourcent_solde])/100))-[penalite]) AS solde
FROM nego_travaux INNER JOIN (nature_commande INNER JOIN (mois INNER JOIN (annee INNER JOIN commande ON annee.n_annee = commande.n_annee_solde) ON mois.n_mois = commande.n_mois_solde) ON nature_commande.n_nature_commande = commande.n_nature_commande) ON nego_travaux.n_nego_travaux = commande.n_nego_travaux
WHERE (((annee.n_annee)=[Formulaires]![Choix Date]![ChoixAnnee]) AND ((mois.n_mois)=[Formulaires]![Choix Date]![ChoixMois]));


Le but étant d'afficher les résultats des deux requêtes dans la même. Merci pour votre aide !

1 réponse

CaPiT Messages postés 609 Date d'inscription lundi 7 janvier 2008 Statut Membre Dernière intervention 21 avril 2010 51
28 août 2008 à 13:41
J'ai trouvé tout seul. Ca s'appelle une requête UNION:

SELECT nego_travaux.nego_travaux,nego_travaux.n_nego_travaux, commande.nom_site, commande.code_site, commande.n_commande, commande.montant_commande, nature_commande.nature_commande, annee.année, mois.mois, [montant_commande]*([pourcent_acompte]/100) AS acompte
FROM nego_travaux INNER JOIN (nature_commande INNER JOIN (mois INNER JOIN (annee INNER JOIN commande ON annee.n_annee = commande.n_annee_acompte) ON mois.n_mois = commande.n_mois_acompte) ON nature_commande.n_nature_commande = commande.n_nature_commande) ON nego_travaux.n_nego_travaux = commande.n_nego_travaux
WHERE (((annee.n_annee)=[Formulaires]![Choix Date]![ChoixAnnee]) AND ((mois.n_mois)=[Formulaires]![Choix Date]![ChoixMois]))
UNION 
SELECT nego_travaux.nego_travaux, nego_travaux.n_nego_travaux,commande.nom_site, commande.code_site, commande.n_commande, commande.montant_commande, nature_commande.nature_commande, annee.année, mois.mois, (([recollement]*(([pourcent_solde])/100))-[penalite]) AS solde
FROM nego_travaux INNER JOIN (nature_commande INNER JOIN (mois INNER JOIN (annee INNER JOIN commande ON annee.n_annee = commande.n_annee_solde) ON mois.n_mois = commande.n_mois_solde) ON nature_commande.n_nature_commande = commande.n_nature_commande) ON nego_travaux.n_nego_travaux = commande.n_nego_travaux
WHERE (((annee.n_annee)=[Formulaires]![Choix Date]![ChoixAnnee]) AND ((mois.n_mois)=[Formulaires]![Choix Date]![ChoixMois]));


Problème résolu ;)
0