PDA

View Full Version : سوال: کونری مناسب برای بروز رسانی وضعیت بار



rayson
یک شنبه 18 خرداد 1393, 23:12 عصر
سلام دوستان
خسته نباشید.
من میخوام یک کوئری چند قسمتی بنویسم و هر بخش به صورت جدا بلدم ولی نمیتونم سر همشون کنم ؛ طبق شکل توضیح میدم و بعد کد خودم قرار میدم و ممنون میشم راهنمایی کنید.

شکل :
ستاره ها همانطور که اطلاع دارید بیان کننده کلید اصلی و کلید خارجی است.
عدد 1 : تناژ بار را نشون میده که مفادیر عددی میگیره ؛ مثلا یک بار 100 تناژ هست که معمولا به کیلو محاسبه میشه.
عدد 2 : وضعیت بار نشان میده که با باز یا بسته نمایش میدهیمش . در ابتدا به دلیل اینکه تازه بار ثبت شده به صورت پیش فرض مقدار باز میگیره. زمانی که تناژ بار برابر 0 بشود وضعیت بار به بسته تغییر میکنه.
عدد 3 : مثلا بار بالا که گفتم 100 کیلو هست را مد نظر بگیرید , ممکنه 10 نفر خریدار مختلف که در جدول TblForoosh آی دی آن Id_person_kharid هست نفری 10 کیلو بگیرند که مجموع آن برابر 100 میشه .و آن بار وضعیتش به بسته تغییر پیدا میکنه.
حالا خواسته کلی من این است یعنی کوئری من میخوام به این شکل عمل کند ؛
ابتدا تمام بارهایی که وضعیتشون باز هست را سلکت کنه ؛ بعد از بار هایی که سلکت شده تناژ های آنها را با مجموع تناژ موجود در جدول TblForoosh که آی دی یکسانی دارند مقایسه کنه و اگر مقدار آن برابر بود بیاد وضعیت بار آن بار را به بسته تغییر دهد.
ممکنه 100 تا بار داشته باشیم که هر بار تیکه تیکه یا کیلو کیلو به فروش رفته باشد ( درطول زمان ) .
کوئری خودم دو بخش یعنی سلکت بر اساس وضعیت بار و همچنین عمل تفریق جدا نوشتم :
دوبخش چک کردن تناژ کل که آیا برابر با صفر یا خیر و همچنین آپدیت وضعیت بار هم نتونستم پیاده کنم.

Select *from TblBar where VaziatBar='باز'

Select TblBar.tonazh – sum(TblForoosh.tonazh) from TblBar,TblForoosh where TblForoosh.id_bar=TblBar.id_bar group by TblBar.id_bar



با تشکر