PDA

View Full Version : نمایش مانده غذای رزرو نشده



Naghibi
یک شنبه 18 بهمن 1394, 08:38 صبح
با سلام
من یه جدول دارم که تعداد حداکثر هر غذا در آن ذخیره می شود. در جدول دیگری رکورد های رزرو غذا ثبت می شود. هر سطر در این جدول مربوط به یک غذا است اما ممکن است تعداد رزرو آن بیشتر از یکی باشد. (فیلد های آن شماره مشتری، شماره آی دی غذا، تاریخ رزرو، تعداد رزرو است)
چه دستوری می تونم بنویسم که مانده موجود از هر غذا رو در تاریخ امروز بهم برگردونه؟ ممنون میشم از دوستان که منو راهنمایی کنن.

ham3d1988
یک شنبه 18 بهمن 1394, 11:55 صبح
سلام
اگه تاریخ بصورت میلادی ذخیره شده اول با این کوئری

SELECT FoodId,CAST(ReserveDate AS date) ReserveDate,SUM(ReserveCnt) FROM ReserveFoodTbl
GROUP BY FoodId,CAST(ReserveDate AS date)

تعداد رزرو شده در هر روز رو بدست بیارید
اما اگه تاریخ شمسی ذخیره شده (هر چند نباید شمسی ذخیره بشه) از این کوئری استفاده کنید

SELECT FoodId, ReserveDate,SUM(ReserveCnt) FROM ReserveFoodTbl
GROUP BY FoodId,ReserveDate


و بعدش بیاین تعداد رزرو شده روز رو با تعداد ظرفیت روز مقایسه کنید و ازش کم کنید تا به تعداد باقیمانده برسین تقریبا یه چنین چیزی:


SELECT FoodId, ReserveDate,SUM(ReserveCnt),fdd.FoodCapasity-SUM(ReserveCnt) Remain FROM ReserveFoodTbl rft
JOIN FoodDefaultData fdd ON fdd.FoodId=rft.FoodId
GROUP BY FoodId,ReserveDate,fdd.FoodCapasity