PDA

View Full Version : کمک در نوشتن query



behnaz kimia
دوشنبه 10 اسفند 1394, 04:52 صبح
سلام دوستان :بامزه:
دو تا جدول هدر و دیتیلز دارم به نامهای tOrder و tOrderDetails و که ستونهای اونها به صورت زیره :
tOrder : OrderID , CostumerID , OrderDate
tOrderDetails : OrderID , ProductID , Number
یک جدول هم دارم که موجودی هر محصول رو در انبار نگه میداره :

tStock : StockID , ProductID , NumberOfProduct

حالا میخوام یک دستور دستور Select بنویسم که بیاد کسری موجودی هر محصول زو حساب کنه!!! :متفکر:
به شکلی که دوتا تاریخ از ورودی بگیره سفارشات بین این دو تاریخ رو بیاره و ببینه از محصول A و B و C و ... (برای همه محصولها) در کل چندتا سفارش گرفته و موجودی چندتا داریم و اینها رو از هم کم کنیم تا کسری موجودی رو داشته باشیم!
(فیلد تاریخ nvarchar 10 هست و برای مقایسه کردنش مشکلی ندارم )
ممنون میشم کمک کنین :چشمک:

parsdarab
دوشنبه 10 اسفند 1394, 09:44 صبح
سلام
البته sum(numberofProduct) برای اینکه از توابع تجمعی استفاده شده است نوشته شده.

select od.ProductID,SUM(od.Number),sum(NumberOfProduct) from tOrder o join tOrderDetails od
on o.OrderID=od.OrderId
join tStockId s on od.ProductId=s.ProductId
where o.OrderDate between '11112233' and '44445566'
group by od.ProductID

behnaz kimia
دوشنبه 10 اسفند 1394, 14:10 عصر
سلام
البته sum(numberofProduct) برای اینکه از توابع تجمعی استفاده شده است نوشته شده.

select od.ProductID,SUM(od.Number),sum(NumberOfProduct) from tOrder o join tOrderDetails od
on o.OrderID=od.OrderId
join tStockId s on od.ProductId=s.ProductId
where o.OrderDate between '11112233' and '44445566'
group by od.ProductID

مرسی از جوابتون خودم نوشتم دیگه :لبخند:
اما این کوئری شما رو هم تست کزدم یه سری ایراد داشت :اشتباه: