Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

afficher la valeur la plus proche

11 réponses
Avatar
carole
bonjour,
Je n'arrive pas à realiser ce besoin. je demande de l'aide :
j'ai une table qui contient une liste de commandes avec les qte fab par
semaine (: num cde, num semaine qte fab de la semaine.)

Je dois arriver a un resultat suivant :avoir la liste de cdes avec la qte
fab par semaine et celle de la semaine précedente ( qui n'est pas
automatiquement celle qui est juste vant , il peux y avoir 1 a x semaine de
décallage entre elle)
donc il faut que j'arrive à une table/requete sous la forme:
num cde, num sem, qte fab de la sem, num sem juste avant, qte fab de la
semain juste avant
Il peut donc y avoir plusieurs fois le meme num de commande dans cette table.
Merci d'avance de vos conseil
carole

1 réponse

1 2
Avatar
carole
Votre solution fonctionne à merveille meme avec les parametres en automatique.
Je vous remercie milles fois du temps passé et de votre competence sur le
sujet.
carole


"Michel_D" a écrit :

Petite correction sur la 2ème requête.

Voici en plus classique ma proposition (2 requêtes) :

La 1ére requête nommé "comptage"

SELECT T1.[num cde], T1.sem, T1.[qte fab], Count(T2.[num cde]) AS NbEnr
FROM LaTable AS T1 INNER JOIN LaTable AS T2
ON (T1.[num cde]=T2.[num cde]) AND (T1.sem>=T2.sem)
GROUP BY T1.[num cde], T1.sem, T1.[qte fab]
ORDER BY T1.[num cde], T1.sem
UNION SELECT T1.[num cde], 0, 0, 0
FROM LaTable AS T1
GROUP BY T1.[num cde]
ORDER BY T1.[num cde];

Et la requête finale qui fournit le résultat

SELECT T1.[num cde], T1.[sem] AS sem1, T1.[qte fab] AS qte1,
T2.[sem] AS sem2, T2.[qte fab] AS qte2
FROM comptage AS T1 INNER JOIN comptage AS T2
ON (T1.NbEnr=T2.NbEnr+1) AND (T1.[num cde]=T2.[num cde]);




1 2