Rechercher : dans
Par :

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

Dernière réponse le 28 aoû 2008 à 13:41:30 CaPiT, le 28 aoû 2008 à 11:42:11 
 Signaler ce message aux modérateurs

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

 CaPiT, le 28 aoû 2008 à 13:41:30

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 ;)

Répondre à CaPiT
Collection CommentÇaMarche.net