بتاريخ: 26 مايو 201114 سنة comment_212451 السسسلام عليكم ورحمة الله بصصراحه انا انسانه متورطة بمشروع الداتا بيس وتعبت الف واحوس القى حل مالقيتبس ان شاء الله القى الحل عندكم /الحين ابسأللو انا عندي جدول كالتالي SQL> CREATE TABLE Dishes( 2 DishID NUMBER(3) primary key, 3 DishName VARCHAR2(25), 4 Dishtype VARCHAR2(25), 5 DishPrice number(3)); وجدول ثاني كذآإ SQL> create table Dish_req( 2 TableNo NUMBER(2), 3 DishesID NUMBER(2), 4 Quantity NUMBER(2), 5 total number(4)); طبعا في علاقة بينهم اللي هي ال DishIDالحين لو ابغى العمود اللي في الجدول الثاني اللي هو Totalيكون يحسبه لي من ناتج ضرب عمود الPrice اللي في الجدول الاول مع عمود ال quantity في الجدول الثانيكيف :؟انا لقيت طريقه بس يحسبه لي ب كويري ومايحفظه لياللي هو ذا الكود SQL> select Dish_req.TableNo , sum(DishPRICE*Quantity) Total 2 from dish_req , dishes 3 where dish_req.dishesID = dishes.DishId 4 group by Dish_req.TableNo ; انا ابغاه يحفظه في هالعمود يعني كل مادخلت row جديد في الاعمدة tableNo و disheid و quantity يكون ع طول يحسب التوتل ويخزنهتكفووووون اي نيد ات /لاني بحتاجه في الفورم /يارب تردون بسرعه تقديم بلاغ
بتاريخ: 26 مايو 201114 سنة comment_212456 الحل بسيط مع الأمر الثاني اللى بيحسب selectيتم إضافة أمر update update dish_req set total=qty * quantity where dish_req.dishesID = dishes.DishId تقديم بلاغ
بتاريخ: 26 مايو 201114 سنة كاتب الموضوع comment_212457 كيف كذا؟!لا مايزبطاولا مشكور اخوي ع الردوثانيا انا فاهمه قصدك وجربته قبل كذا SQL> update drink_req 2 set total = (select (sum(DrinkPRICE*Quantity)) 3 from Drink_req , Drinks 4 where Drink_req.DrinkID = Drinks.DrinkID) 5 where tableNo=TableNo; 6 rows updated. SQL> select * from drink_req; TABLENO DRINKID QUANTITY TOTAL ---------- ---------- ---------- ---------- 1 5 1 62 1 3 2 62 2 9 5 62 5 7 2 62 4 3 1 62 3 3 1 62 بسس المشكلة انه يطلع الناتج غلطانا ابغاه يحسب لي التوتل لكل tableNoيعني يحسب الطلبات اللي ع الطاولة رقم 1 لانه لها اكثر من طلبالمشكلة لمن استخدم كويري عادي يطلع الناتج تمام [left] SQL> select Drink_req.TableNo ,sum(DrinkPRICE*Quantity) Total 2 from Drink_req , Drinks 3 where Drink_req.DrinkID = Drinks.DrinkID 4 group by Drink_req.TableNo; TABLENO TOTAL ---------- ---------- 1 20 2 20 3 7 4 7 5 8 [/left] بس لمن احفظه ب update يخربطيارب احد فهمني =( تقديم بلاغ
بتاريخ: 26 مايو 201114 سنة comment_212460 السلام عليكم تعديل الكود كالاتىupdate drink_req 2 set total = (select (sum(DrinkPRICE*Quantity)) 3 from Drink_req , Drinks 4 where Drink_req.DrinkID = Drinks.DrinkID) 5 where tableNo=TableNo(group by group by Drink_req.TableNo; ; تقديم بلاغ
بتاريخ: 26 مايو 201114 سنة كاتب الموضوع comment_212464 يسسلمو خيو ع الردبس نفس الشي يطلع الناتج غلط وموحد لكل الاعمدة SQL> update drink_req 2 set total = (select (sum(DrinkPRICE*Quantity)) 3 from Drink_req , Drinks 4 where Drink_req.DrinkID = Drinks.DrinkID) 5 where tableNo=TableNo; 6 rows updated. SQL> select * from drink_req; TABLENO DRINKID QUANTITY TOTAL ---------- ---------- ---------- ---------- 1 5 1 62 1 3 2 62 2 9 5 62 5 7 2 62 4 3 1 62 3 3 1 62 تقديم بلاغ
بتاريخ: 30 مايو 201114 سنة comment_212614 try with thisupdate Dish_req dq set total=(select (Quantity*DishPrice) total fromDishes d,Dish_req rwhere d.DishID=r.DishesIDand r.TableNo=dq.TableNo ) تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.