PDA

View Full Version : دستور اس کیو ال



atryad
دوشنبه 23 دی 1392, 12:49 عصر
با سلام
دوستان من یه دیتایبیس با جداول زیر دارم و میخوام یه دستور که خروجی ذکر شده در زیر رو برام ایجاد کنه بسازم تا حدودی نزدیک سدم اما دیگه نمیدونم باید چکارش کنم لطفا کمک کنید
حدول نام سرویسها
Service
ID Name Idgroup Id_Unit pointOrder Model BarcodId Note
1 کالای شماره 1 3 9 50 مدل 1 4500یشتالذتسراستا
2 کالای شماره 2 3 9 50 مدل 1 4500یشتالذتسراستا
3 کالای شماره 3 3 9 50 مدل 1 4500یشتالذتسراستا
4 کالای شماره 4 3 9 50 مدل 1 4500یشتالذتسراستا
5 کالای شماره 5 3 9 50 مدل 1 4500یشتالذتسراستا

جدول تغییرات سرویس
ServiceChange
ID ID_service ID_Invoices Change TypeChange Note
124 1 0 25 خروجی
125 1 0 100 ورودی ثبت ورودی اولیه کالا
134 1 1 1400 ورودی کالای شماره 1 کالای شماره 1
135 1 2 70 خروجی کالای شماره 1 کالای شماره 1
138 1 3 54 ورودی کالای شماره 1 کالای شماره 1
140 1 4 1400 ورودی کالای شماره 1 کالای شماره 1
126 2 0 0 خروجی
127 2 0 100 ورودی ثبت ورودی اولیه کالا
136 2 2 32 ورودی کالای شماره 2 کالای شماره 2
139 2 3 33 ورودی کالای شماره 2 کالای شماره 2
128 3 0 0 خروجی
129 3 0 100 ورودی ثبت ورودی اولیه کالا
137 3 2 45 ورودی کالای شماره 3 کالای شماره 3
130 4 0 0 خروجی
131 4 0 100 ورودی ثبت ورودی اولیه کالا
132 5 0 0 خروجی
133 5 0 100 ورودی ثبت ورودی اولیه کالا

جدول خروجی مورد نیاز تقریبا به صورت زیر باشد
IDservice Name ورودی خروجی موجودی نقطه سفارش status
1 کالای شماره 1 x y x-y z If((x-y)<=z) No




دستوری رو که من نوشتم به صورت زیر است
SELECT Service.ID, Service.Name, SUM(ServiceChange.Change) AS sumChange, ServiceChange.TypeChange
FROM (ServiceChange INNER JOIN
Service ON ServiceChange.ID_service = Service.ID)
GROUP BY Service.ID, ServiceChange.TypeChange, Service.Name


خروجی تولید شده
ID NAME sumChange TypeChange
1 کالای شماره 1 25 خروجی
1 کالای شماره 1 3024 ورودی
2 کالای شماره 2 0 خروجی
2 کالای شماره 2 165 ورودی
3 کالای شماره 3 0 خروجی
3 کالای شماره 3 145 ورودی
4 کالای شماره 4 0 خروجی
4 کالای شماره 4 100 ورودی
5 کالای شماره 5 0 خروجی
5 کالای شماره 5 100 ورودی



فایل توضیحات پیوست شده