Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2012, 16h44   #1
Membre du Club
 
Homme Seb
Inscription : février 2008
Messages : 130
Détails du profil
Informations personnelles :
Nom : Homme Seb
Localisation : France

Informations forums :
Inscription : février 2008
Messages : 130
Points : 40
Points : 40
Par défaut comparer 2 requetes

Bonjour,

J'ai fais une requete qui compare le déclaré et le facturé. Les deux requetes sont reliées par 3 jointures (Date, carte, type_carb).

Je fais bien ressortir quand il y a plus de facturé que de déclaré sur une carte ou le contraire mais je n'ai pas si on déclare un type_carb qui n'est pas facturé.
Code :
1
2
3
SELECT req_rapp_75.Date, Req_somme_declare.Origine_Carb, Req_somme_declare.SommeDeVolume_Carb AS Déclaré, [SommeDeVolume_Carb]-[Facture] AS difference, Req_somme_declare.mois_mvt, req_rapp_75.type, req_rapp_75.Facture
FROM req_rapp_75 INNER JOIN Req_somme_declare ON (req_rapp_75.nom_carte = Req_somme_declare.Origine_Carb) AND (req_rapp_75.Date = Req_somme_declare.mois_mvt) AND (req_rapp_75.type = Req_somme_declare.Type_Carb)
WHERE (((IIf([SommeDeVolume_Carb]-[Facture]>4,"alerte",IIf([Facture]-[SommeDeVolume_Carb]>4,"alerte","ok")))="alerte"));
Exemple:
Déclaré:novembre, carte1, 35, super
facturé: pas de super facturé pour la carte 1 au mois de novembre
Les 35 ne ressortent pas puisque les jointures ne comparent que les resultats égaux.

Avez vous une solutions?

Merci par avance

Seb
sebing est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 17h02   #2
Membre chevronné
 
Avatar de alassanediakite
 
Homme Alassane Diakité
Conseil - Consultant en systèmes d'information
Inscription : août 2006
Messages : 539
Détails du profil
Informations personnelles :
Nom : Homme Alassane Diakité
Âge : 34
Localisation : Mali

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information

Informations forums :
Inscription : août 2006
Messages : 539
Points : 604
Points : 604
Envoyer un message via Yahoo à alassanediakite
Salut
Peux-tu montrer:...
  • la structure des tables utilisées par les requêtes
  • le code sql des deux premières requêtes
..?
__________________
Le monde est trop bien programmé pour être l’œuvre du hasard…
alassanediakite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2012, 11h56   #3
Membre du Club
 
Homme Seb
Inscription : février 2008
Messages : 130
Détails du profil
Informations personnelles :
Nom : Homme Seb
Localisation : France

Informations forums :
Inscription : février 2008
Messages : 130
Points : 40
Points : 40
Citation:
Envoyé par alassanediakite Voir le message
Salut
Peux-tu montrer:...
  • la structure des tables utilisées par les requêtes
  • le code sql des deux premières requêtes
..?
ça va etre dur car ce sont des sous/sous/sous/requetes

je vais essayé:
concernant la partie facture req_rapp_75:
SELECT Req_somme_facture_75.Date, carte_75.nom_carte, Req_somme_facture_75.type, Req_somme_facture_75.SommeDevolume AS Facture
FROM Req_somme_facture_75 LEFT JOIN carte_75 ON Req_somme_facture_75.N°_carte = carte_75.N_carte;
[/CODE]
La table carte_75:
Code :
1
2
3
4
 
N°: numéro auto
N°_carte: texte
nom_carte: texte
Pour la requete Req_somme_facture_75 :
Code :
1
2
3
 SELECT Month([Date_mvt]) AS [Date], facture_75.N°_carte, IIf([type_carb] Like "super*","super","GAZOLE") AS type, Sum(facture_75.volume) AS SommeDevolume
FROM facture_75
GROUP BY Month([Date_mvt]), facture_75.N°_carte, IIf([type_carb] Like "super*","super","GAZOLE");
la table facture_75:
Code :
1
2
3
4
5
6
7
8
 
N°: numéro auto
N°_carte: texte
libelle_carte: texte
date_mvt:Date/Heure
type_carb:Texte
volume:Numérique
code_engin:Numérique
La partie des requetes de la factuartions sont faites, maintenant les requetes des déclarations:
Req_somme_declare:
Code :
1
2
3
4
5
 
SELECT Month([Date_Mvt]) AS mois_mvt, Req_Mvt_annee_en_cours.Type_Carb, Req_Mvt_annee_en_cours.Origine_Carb, Sum(Req_Mvt_annee_en_cours.Volume_Carb) AS SommeDeVolume_Carb
FROM Req_Mvt_annee_en_cours
GROUP BY Month([Date_Mvt]), Req_Mvt_annee_en_cours.Type_Carb, Req_Mvt_annee_en_cours.Origine_Carb
ORDER BY Req_Mvt_annee_en_cours.Origine_Carb;
Req_Mvt_annee_en_cours:
Code :
1
2
3
 SELECT dbo_Carb_Mvt_ST5_ST6.Code_Site, dbo_Carb_Mvt_ST5_ST6.Date_Mvt, dbo_ENGIN_VUE.CodeEngin, dbo_Carb_Mvt_ST5_ST6.Type_Perception, dbo_Carb_Mvt_ST5_ST6.Origine_Carb, dbo_Carb_Mvt_ST5_ST6.Type_Carb, dbo_Carb_Mvt_ST5_ST6.Volume_Carb, dbo_Carb_Mvt_ST5_ST6.Potentiel_Kmjour, IIf(DLast("Date_Mvt","dbo_Carb_Mvt_ST5_ST6","[Codeident]=" & [Codeident] & " And [Date_Mvt] < " & Format([Date_Mvt],"\#mm\/dd\/yyyy\#"))<=[chgt_comptKM] And [Date_Mvt]>=[chgt_comptKM],"chgt compteur",DLast("Potentiel_Kmjour","dbo_Carb_Mvt_ST5_ST6","[Codeident]=" & [Codeident] & " And [Date_Mvt] < " & Format([Date_Mvt],"\#mm\/dd\/yyyy\#"))) AS Ancien_Potentiel_Km, IIf([Ancien_Potentiel_Km]="chgt compteur",0,[Potentiel_Kmjour]-[Ancien_Potentiel_Km]) AS parcouru, IIf([parcouru]>0,([dbo_Carb_Mvt_ST5_ST6]![Volume_Carb]*100)/[parcouru],0) AS Conso_au_100km, dbo_Carb_Mvt_ST5_ST6.Potentiel_Hjour, IIf(DLast("Date_Mvt","dbo_Carb_Mvt_ST5_ST6","[Codeident]=" & [Codeident] & " And [Date_Mvt] < " & Format([Date_Mvt],"\#mm\/dd\/yyyy\#"))<=[chgt_comptHM] And [Date_Mvt]>=[chgt_comptHM],"chgt compteur",DLast("Potentiel_Hjour","dbo_Carb_Mvt_ST5_ST6","[Codeident]=" & [Codeident] & " And [Date_Mvt] < " & Format([Date_Mvt],"\#mm\/dd\/yyyy\#"))) AS Ancien_Potentiel_moteur, IIf([Ancien_Potentiel_moteur]="chgt compteur",0,[Potentiel_Hjour]-[Ancien_Potentiel_moteur]) AS Nb_heures_moteur, IIf([Nb_heures_moteur]>0,([dbo_Carb_Mvt_ST5_ST6]![Volume_Carb]*1)/[Nb_heures_moteur],0) AS Conso_litre_heure_mot, dbo_Carb_Mvt_ST5_ST6.Potentiel_Hequipement, IIf(DLast("Date_Mvt","dbo_Carb_Mvt_ST5_ST6","[Codeident]=" & [Codeident] & " And [Date_Mvt] < " & Format([Date_Mvt],"\#mm\/dd\/yyyy\#"))<=[chgt_comptHE] And [Date_Mvt]>=[chgt_comptHE],"chgt compteur",DLast("Potentiel_Hequipement","dbo_Carb_Mvt_ST5_ST6","[Codeident]=" & [Codeident] & " And [Date_Mvt] < " & Format([Date_Mvt],"\#mm\/dd\/yyyy\#"))) AS Ancien_Potentiel_equipement, IIf([Nb_heures_equipement]>0,([dbo_Carb_Mvt_ST5_ST6]![Volume_Carb]*1)/[Nb_heures_equipement],0) AS Conso_litre_heure_equi, IIf([Ancien_Potentiel_equipement]="chgt compteur",0,[Potentiel_Hequipement]-[Ancien_Potentiel_equipement]) AS Nb_heures_equipement, dbo_Carb_Mvt_ST5_ST6.Commentaires, Format([date_chgt_ComptKM],"dd/mm/yyyy") AS chgt_comptKM, Format([date_chgt_ComptHM],"dd/mm/yyyy") AS chgt_comptHM, Format([date_chgt_ComptHE],"dd/mm/yyyy") AS chgt_comptHE, dbo_Carb_Mvt_ST5_ST6.Codeident, Month([Date_Mvt]) AS mois_d, Year([Date_Mvt]) AS Expr1
FROM (dbo_Carb_Mvt_ST5_ST6 LEFT JOIN dbo_ENGIN_VUE ON dbo_Carb_Mvt_ST5_ST6.Codeident = dbo_ENGIN_VUE.CodeIdentite) LEFT JOIN Req_chgt_compt_2011 ON dbo_ENGIN_VUE.CodeEngin = Req_chgt_compt_2011.CodeEngin
WHERE (((Year([Date_Mvt]))=IIf(Month(Now())=1,Year(Now())-1,Year(Now()))));
Merci encore

Seb
sebing est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h01.


 
 
 
 
Partenaires

Hébergement Web