Requête somme entre deux tables windev/webdev

paulnero Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
 bmarcellin71 -
Bonjour,

j'ai deux tables

Table X et TableY reliées comme suit :

TableX (0, n) ------------- >(0,1)TableY

X possède les champs (NumX, Qté Cmdée, Qté livrée, champZ, champT,...) NumX clé primaire.
Y possède les champs (NumY, NumX, Qté Cmdée, Qté livrée,champG,champE,...) NumY clé primaire, NumX clé étrangère.

Les Qté Cmdée, Qté livrée de X (tableX) doivent être les sommes des Qté Cmdée, Qté livrée de Y (tableY).En effet un même NumX de X peut avoir plusieurs enregistrements de Y.

1ère piste :
a=0, b=0;
pour tout numéro NumX de TableX (je parcours les clé de X)
si NumX.TableX=NumX.TableY

// je stock les valeurs courantes dans des réels a et b
a=a+ Qté Cmdée.TableY
b=b+ Qté livrée.TableY
//je stock les valeurs dans la tableX
TableX.Qté Cmdée=a
TableX.Qté livrée=b
Fin si
Question : comment être sûr que les totaux seront bien ceux venant de la tableY

2ème piste :
Je crée une requête :
Select tableX and TableY
Where NumX.tableX=NumX.tableY
Sum()...

Question: j'ai des vagues idées sur la requête, quelqu'un peut m'orienter à mieux la structurer et affecter le total sur TableX




merci



A voir également:

2 réponses

paulnero Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   1
 
après reflexion,
j'ai décidé de créer une requête:

Requête={Select sum(qté cmdée) as somme1,sum(qté dépotée) as somme2 from tableY 
group by tableY.numX}
normalement il doit m'afficher tous les totaux par numX.


pour tout ligne de la tableY
    pour tout ligne de table X
         si tableX.numX=tableY.NumX
              TableX.qté cmdée=Requête.somme1
              TableX.qté dépotée=Requête.somme2
         fin si
   fin pour
fin pour


en executant le test de la requête, webdev me renvoi que la requête est inconnu dans l'annalyse.

Une idée?
0
bmarcellin71
 
Il faut avant la boucle faire "hexecuterequeteSql"
0