OVH Cloud OVH Cloud

Requete SQL avec calcul

4 réponses
Avatar
Ptit Dave
Bonjour

j'exécute une requete et je voudrais effectuer des calculs à l'interieur.
je dois afficher les quantités commandées et les quantités en stock, mais je
voudrais décrémenter mes quantités en stock à chaque ligne retournée par ma
requete
par ex, je voudrais obtenir ceci
ligne qté commandée qté en stock
1 100 550
2 140 450
3 70 310

et lorsque j'exécute ma requete j obtiens
ligne qté commandée qté en stock
1 100 550
2 140 550
3 70 550

est il possible de faire ceci sous SQL et si oui comment ?
d'avance merci

4 réponses

Avatar
Fred BROUARD
Bonjour,

Votre problème est idiot. Vous ne donnez pas toutes les conditions d'entrée. En
effet, d'ou sortez vous la valeur 550 ?

Mais ce genre de cumul est parfaitement possible. Des exemples se trouvent dans
mon bouquin SQL développement aux pages 319 / 320.

A +

Ptit Dave a écrit:
Bonjour

j'exécute une requete et je voudrais effectuer des calculs à l'interieur.
je dois afficher les quantités commandées et les quantités en stock, mais je
voudrais décrémenter mes quantités en stock à chaque ligne retournée par ma
requete
par ex, je voudrais obtenir ceci
ligne qté commandée qté en stock
1 100 550
2 140 450
3 70 310

et lorsque j'exécute ma requete j obtiens
ligne qté commandée qté en stock
1 100 550
2 140 550
3 70 550

est il possible de faire ceci sous SQL et si oui comment ?
d'avance merci








--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************
Avatar
Steve Kass
Dave,

create table T (
ligne int not null primary key,
[qté commandée] int
)

insert into T values(1,100)
insert into T values(2,140)
insert into T values(3,70)
go

declare @qté int
set @qté = 550

select @qté as [qté en stock]

select
ligne,
[qté commandée],
@qté - coalesce((
select sum([qté commandée])
from T as T2
where T2.ligne < T1.ligne
),0) as [qté en stock]
from T as T1

set @qté = @qté - (select sum([qté commandée]) from T)
select @qté as [qté en stock]
go

drop table T

Steve Kass
Drew University

Ptit Dave wrote:

Bonjour

j'exécute une requete et je voudrais effectuer des calculs à l'interieur.
je dois afficher les quantités commandées et les quantités en stock, mais je
voudrais décrémenter mes quantités en stock à chaque ligne retournée par ma
requete
par ex, je voudrais obtenir ceci
ligne qté commandée qté en stock
1 100 550
2 140 450
3 70 310

et lorsque j'exécute ma requete j obtiens
ligne qté commandée qté en stock
1 100 550
2 140 550
3 70 550

est il possible de faire ceci sous SQL et si oui comment ?
d'avance merci









Avatar
Ptit Dave
550 correspont à la valeur de la quantité en stock d un article donné
En fait, j ai plusieurs lignes de commande pour des articles differents.
et je voudrais afficher dans le resultat de ma requete, les quantités en
stock pour chaque article de ma commande mais en tenant compte à chaque fois
des lignes de commandes précédentes

commande Article qté commandée qté en stock
12 Toto 100
550
125 Titi 140
700
53 Toto 70
450
25 Titi 200
560
3 Toto 70
380

j ai 700 articles Titi et 550 articles Toto en stock. ce sont les données
que j ai ds ma base
et je voudrais faire une simulation de ce qui restera en stock apres
differentes commandes
mon problème est que je n arrive pas à afficher les quantités en stock
decrémentées


"Fred BROUARD" a écrit :

Bonjour,

Votre problème est idiot. Vous ne donnez pas toutes les conditions d'entrée. En
effet, d'ou sortez vous la valeur 550 ?

Mais ce genre de cumul est parfaitement possible. Des exemples se trouvent dans
mon bouquin SQL développement aux pages 319 / 320.

A +

Ptit Dave a écrit:
> Bonjour
>
> j'exécute une requete et je voudrais effectuer des calculs à l'interieur.
> je dois afficher les quantités commandées et les quantités en stock, mais je
> voudrais décrémenter mes quantités en stock à chaque ligne retournée par ma
> requete
> par ex, je voudrais obtenir ceci
> ligne qté commandée qté en stock
> 1 100 550
> 2 140 450
> 3 70 310
>
> et lorsque j'exécute ma requete j obtiens
> ligne qté commandée qté en stock
> 1 100 550
> 2 140 550
> 3 70 550
>
> est il possible de faire ceci sous SQL et si oui comment ?
> d'avance merci
>
>
>
>
>

--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************




Avatar
Fred BROUARD
tes 550 toto et 700 titi ils sont dans quelle table et dans quelle colonne ?

Peut tu donner la description de ces tables sous la forme d'ordre CREATE ainsi
que les ordres d'insertion des données comme indiqué ici :
http://www.developpez.net/forums/viewtopic.php?t2668

A +

Ptit Dave a écrit:
550 correspont à la valeur de la quantité en stock d un article donné
En fait, j ai plusieurs lignes de commande pour des articles differents.
et je voudrais afficher dans le resultat de ma requete, les quantités en
stock pour chaque article de ma commande mais en tenant compte à chaque fois
des lignes de commandes précédentes

commande Article qté commandée qté en stock
12 Toto 100
550
125 Titi 140
700
53 Toto 70
450
25 Titi 200
560
3 Toto 70
380

j ai 700 articles Titi et 550 articles Toto en stock. ce sont les données
que j ai ds ma base
et je voudrais faire une simulation de ce qui restera en stock apres
differentes commandes
mon problème est que je n arrive pas à afficher les quantités en stock
decrémentées


"Fred BROUARD" a écrit :


Bonjour,

Votre problème est idiot. Vous ne donnez pas toutes les conditions d'entrée. En
effet, d'ou sortez vous la valeur 550 ?

Mais ce genre de cumul est parfaitement possible. Des exemples se trouvent dans
mon bouquin SQL développement aux pages 319 / 320.

A +

Ptit Dave a écrit:

Bonjour

j'exécute une requete et je voudrais effectuer des calculs à l'interieur.
je dois afficher les quantités commandées et les quantités en stock, mais je
voudrais décrémenter mes quantités en stock à chaque ligne retournée par ma
requete
par ex, je voudrais obtenir ceci
ligne qté commandée qté en stock
1 100 550
2 140 450
3 70 310

et lorsque j'exécute ma requete j obtiens
ligne qté commandée qté en stock
1 100 550
2 140 550
3 70 550

est il possible de faire ceci sous SQL et si oui comment ?
d'avance merci








--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************







--
Frédéric BROUARD, MVP SQL Server. Expert SQL / spécialiste Delphi, web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
************************ www.datasapiens.com *************************