Bonjour,
J'ai essayé depuis pas mal de temps de résoudre le problème de sélection des numéros de commandes ayant comme critère les articles commandés pas encore livrés, enfin, j'ai pu s'approcher de la solution mais ma solution affiche seulement les commandes qui n'ont plus de livraison par contre il y a des commandes qui ont des livraisons incomplètes.
La requête est la suivante:
le problème après des tests réside dans l'instruction HAVING car si je fais < 0 au lieu de > 0 il y aura affichage seulement des commandes manquées de la deuxième (> 0).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 SELECT DISTINCT t1.num_commande, t1.date_commande,t1.libelle_four FROM ( SELECT ca.num_commande, c.date_commande, f.libelle_four, ca.quantite AS qté_commandée FROM CDE_ART ca INNER JOIN COMMANDE c ON c.num_commande = ca.num_commande INNER JOIN FOURNISSEUR f ON f.reference_four = c.reference_four ) t1 FULL OUTER JOIN ( SELECT l.num_commande,la.quantite_livree FROM LIV_ART la INNER JOIN LIVRAISON l ON l.code_livraison = la.code_livraison INNER JOIN FOURNISSEUR f ON f.reference_four = l.reference_four ) t2 ON t2.num_commande = t1.num_commande GROUP BY t1.num_commande, t1.date_commande, t1.libelle_four, t1.qte_commandee HAVING t1.qte_commandee - COALESCE(SUM(t2.quantite_livree), 0) > 0 order by t1.num_commande
Merci pour vos propositions et vos remarques.
Partager