Bonjour
Je suis débutant en SQl, j'espère que je vais bien exprimer mon petit problème.
J'ai plusieurs table avec colonnes vois ci-dessous.
Ma requête que je souhaiterais faire est la suivante
Prendre chaque ligne une par une
Multiplier QTE_LANCEE par QUANTITE
puis comparer si RESULTAT > QUANTITE (Dernière colonnes) alors LANCEMENT_OF prend la valeur 1
sinon 0
Voici ma requête mais elle met 1 dans toute les ligne hors que la pieces jointe je devrais avoir un 0 sur la dernière ligne.
J'espère que j'ai bien expliquer.
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
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53 select T_ORDREFAB.CODE_OF, T_ORDREFAB.REF_ARTICLE, T_ORDREFAB.LANCEMENT_OF, T_ORDREFAB.QTE_LANCEE, T_NOMENCLATURE.REF_COMPOSANT, T_NOMENCLATURE.QUANTITE, T_ARTICLE.QUANTITE FROM T_NOMENCLATURE INNER JOIN T_ORDREFAB ON T_NOMENCLATURE.REF_ARTICLE = T_ORDREFAB.REF_ARTICLE INNER JOIN T_ARTICLE ON T_NOMENCLATURE.REF_COMPOSANT = T_ARTICLE.REF_ARTICLE where T_ORDREFAB.CODE_SOCIETE = '11' and T_ORDREFAB.ETAT_OF = 'ATTENTE' and T_ORDREFAB.CODE_OF = 86 ORDER BY T_ORDREFAB.CODE_OF BEGIN DECLARE @OF_Quantite decimal(18); DECLARE @ART_Quantite decimal(18); SELECT @OF_Quantite = (T_ORDREFAB.QTE_LANCEE * T_NOMENCLATURE.QUANTITE), @ART_Quantite = T_ARTICLE.QUANTITE, FROM T_NOMENCLATURE INNER JOIN T_ORDREFAB ON T_NOMENCLATURE.REF_ARTICLE = T_ORDREFAB.REF_ARTICLE INNER JOIN T_ARTICLE ON T_NOMENCLATURE.REF_COMPOSANT = T_ARTICLE.REF_ARTICLE WHERE T_ORDREFAB.CODE_SOCIETE = '11' and T_ORDREFAB.ETAT_OF = 'ATTENTE' and T_ORDREFAB.CODE_OF = 86 ORDER BY T_ORDREFAB.CODE_OF IF @OF_Quantite < @ART_Quantite BEGIN Update T_ORDREFAB Set LANCEMENT_OF = 1 FROM T_ORDREFAB WHERE T_ORDREFAB.CODE_SOCIETE = '11' and T_ORDREFAB.ETAT_OF = 'ATTENTE' END ELSE BEGIN Update T_ORDREFAB Set LANCEMENT_OF = 0 FROM T_ORDREFAB WHERE T_ORDREFAB.CODE_SOCIETE = '11' and T_ORDREFAB.ETAT_OF = 'ATTENTE' and T_ORDREFAB.CODE_OF = 86;; END; END
Merci pour votre aide et en attendant vos réponse je vous souhaite une agréable journée.
Ronan
Partager