معاذ عبد الخالق نشر 28 فبراير أرسل تقرير نشر 28 فبراير ارجو حل المشكله : الرقم ده حساب عميل موجود في table ; V = 100 دول اصناف في table تاني ;x = 20 ;A = 30 مجموعهم 50 لو حذفت x من table كا عمليه طرح مع v هيدينا -80 النتيجه هتطلع بالسالب علشان رقم صغير طرح من رقم كبير ف الناتج النهائي هيبقي -80 ف table الاول فيه الحساب العميل 100 و كان بالموجب المشكله هنا السالب ده غير حساب العميل و كان بالموجب قبل عمليه الطرح 1 اقتباس
0 Mahmoud Hassan19 نشر 28 فبراير أرسل تقرير نشر 28 فبراير (معدل) مرحبا معاذ اذا فرضنا الاول انه في حساب العميل يوجد 100 والعميل اشتري عناصر ب 20 و30 اذن مجموع مشتريات العميل تكون 50 واذا طرحنا من حساب العميل 50 يتبقي في حسابة 50 يعني احنا بنطرح حساب العميل - مجموع المشتريات (100-50) وليس نطرح مجموع المشتريات - حساب العميل (50-100) ومن الممكن استخدام دالة القيمة المطلقة abs اذ كنت تريد ان تحصل علي الناتج موجب وليس بالسالب abs(50-100) //result 50 تم التعديل في 28 فبراير بواسطة Mahmoud Hassan19 1 اقتباس
0 Mustafa Suleiman نشر 28 فبراير أرسل تقرير نشر 28 فبراير تستطيع استخدام دالة ABS لحساب القيمة المطلقة للنتيجة حيث ستُحوّل الدالة أي قيمة سالبة إلى قيمة موجبة. أو استخدام شرط CASE للتحقق من علامة النتيجة، فلو كانت النتيجة سالبة، تقوم بتعيينها إلى 0. SELECT CASE WHEN V - (x + A) >= 0 THEN V - (x + A) ELSE 0 END AS total_amount FROM table1 WHERE id = customer_id; أيضًا يوجد إمكانية إنشاء عمود منفصل لحساب المبلغ الإجمالي وتحديث العمود كلما تم إجراء تغيير على أي من القيم. UPDATE table1 SET total_amount = V - (x + A) WHERE id = customer_id; 1 اقتباس
0 معاذ عبد الخالق نشر 28 فبراير الكاتب أرسل تقرير نشر 28 فبراير و افرض ان حسابه اقل من ارقام التانيه و عملت عمليه الطرح هيطلع بالسالب ف هيغير الحساب بردو و هيطلع بالسالب وده غير بردو حسابه بقي بالسالب اقتباس
0 Mustafa Suleiman نشر 28 فبراير أرسل تقرير نشر 28 فبراير بتاريخ 3 دقائق مضت قال معاذ عبد الخالق: و افرض ان حسابه اقل من ارقام التانيه و عملت عمليه الطرح هيطلع بالسالب ف هيغير الحساب بردو و هيطلع بالسالب وده غير بردو حسابه بقي بالسالب مضبوط، لذا نستخدم دالة ABS لتكون النتيجة موجبة، لكن عليك التوضيح ما الغرض من عمليات الطرح تلك؟ فالعمليات المالية مثلاً حساسة ولا نستطيع تعيينها إلى 0 في حال كانت القيمة سالبة مثلاً بل يتم رفض عملية الطرح إن كان حسابه ليس به مبلغ كافي مثلاً. 1 اقتباس
0 Mahmoud Hassan19 نشر 28 فبراير أرسل تقرير نشر 28 فبراير بتاريخ 4 دقائق مضت قال معاذ عبد الخالق: و افرض ان حسابه اقل من ارقام التانيه و عملت عمليه الطرح هيطلع بالسالب ف هيغير الحساب بردو و هيطلع بالسالب وده غير بردو حسابه بقي بالسالب هنا لابد ان تتاكد ان القيمة الموجوده في حساب العميل اكبرمن او تساوي قيمة المشتريات إذا كنت تشير إلى طريقة ضمان تنفيذ مجموعة من العمليات بشكلٍ ناجح كامل أو فشل كلها (نهج الكل أو لا شيء) يمكنك استخدام مفهوم Transactions في MySQL المعاملات تسمح بتنفيذ مجموعة من العمليات مع الضمانات التي إذا حدثت مشكلة في أي جزء من المعاملة يتم إلغاء التغييرات التي تمت في كل الجزء السابق مثال START TRANSACTION; -- عمليات SQL هنا COMMIT; -- لتأكيد التغييرات -- أو ROLLBACK; -- لإلغاء التغييرات 1 اقتباس
السؤال
معاذ عبد الخالق
ارجو حل المشكله :
الرقم ده حساب عميل موجود في table
; V = 100
دول اصناف في table تاني
;x = 20
;A = 30
مجموعهم 50
لو حذفت x من table كا عمليه طرح مع v هيدينا -80 النتيجه هتطلع بالسالب علشان رقم صغير طرح من رقم كبير
ف الناتج النهائي هيبقي -80 ف table الاول فيه الحساب العميل 100 و كان بالموجب
المشكله هنا السالب ده غير حساب العميل و كان بالموجب قبل عمليه الطرح
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.