الانتقال إلى المحتوى

لدي Cost و Sale وعاوز اوجد الارباح


chairman

Recommended Posts

السلام عليكم

اخواني لدي جدول يتضمن حقل cost وحقل sale وحقل profit وعاوز كود يطرح الكلفة من سعر البيع ويوجد الربح ويخزنه في حقل profit



create table sale(
      cost number(15),
      sale number (15),
      profit number(15));



ويتم ذلك ليس من خلال الفورم انما من خلال sqlplsql

رابط هذا التعليق
شارك


السلام عليكم

اخواني لدي جدول يتضمن حقل cost وحقل sale وحقل profit وعاوز كود يطرح الكلفة من سعر البيع ويوجد الربح ويخزنه في حقل profit



create table sale(
      cost number(15),
      sale number (15),
      profit number(15));



ويتم ذلك ليس من خلال الفورم انما من خلال sqlplsql

رابط هذا التعليق
شارك



السلام عليكم

اخواني لدي جدول يتضمن حقل cost وحقل sale وحقل profit وعاوز كود يطرح الكلفة من سعر البيع ويوجد الربح ويخزنه في حقل profit



create table sale(
      cost number(15),
      sale number (15),
      profit number(15));



ويتم ذلك ليس من خلال الفورم انما من خلال sqlplsql
لأن الجدول يحتوي على بيانات الكلفة والسعر والان نحتاج ان نوجد الارباح

تم تعديل بواسطة chairman
رابط هذا التعليق
شارك

اخي احمد بارك الله فيك

انا لا اريد ايجاد الربح لحظة ادخال البيانات ، وذلك لكون البيانات مدخلة

ياريت حضرتك وباقي الاعضاء الافاضل يفيدونا


ممكن الاطلاع على المرفقات

New WinRAR أرشيف.RAR

رابط هذا التعليق
شارك

السلام عليكم
لم افهم ما تريدة بالتحديد..
حتى وان كانت البيانات مخزنة فان الجملة السابقة ستعطيك ناتج الربح...
لانه يتم جمع التكلفة وجمع اسعار البيع ومن ثم يتم طرحهم لكي ينتج الربح...
ام انك تقصد انك تريد ايجاد الربح لكل ريكورد وفي النهاية تريد جمع ناتج الربح ؟؟

رابط هذا التعليق
شارك

اخي الحبيب احمد

انا اريد الربح لكل ريكورد فقط (على مستوى الريكورد) ولا اريد الربح الكلي في النهاية



حيث ان الجدول الذي لدي يحتوي بيانات كثيرة تخص الكلف واسعار المبيعات ، ولكن كيف ممكن انفذ ايعاز واحد في plsql يوجد الارباح ، اي ان عملية حساب الربح تنفذ ليس في وقت ادخال البيانات انما البيانات مدخلة ، اعتقد انه بهذه الحالة نحتاج loop ياخذ قيمة الكلفة والسعر من الركورد الاول ويوجد الربح ويخزنه كمان في الريكورد الاول وهكذا بالنسبة للريكورد الثاني الى ان نصل نهاية الجدول

(حيث اني لا اريد التنفيذ في الفورم انما في محرر sql
بارك الله فيك

تم تعديل بواسطة chairman
رابط هذا التعليق
شارك

لو على مستوى الريكود هيبقى كدا
Select Nvl(Cost, 0) * Nvl(Sale, 0) Profite
From Sale
ل على مستوى التيبل كلة هتعمل الطريقة دى
Select Sum(Nvl(Cost, 0)) - Sum(Nvl(Sale, 0)) Profite
From Sale
لو عاوز بقة ادق اعمل عمود من النوع ديت اوك وفى جملة اختار الديت الى انت عاوزة كدا

Select Sum(Nvl(Cost, 0)) - Sum(Nvl(Sale, 0)) Profite
From Sale
where profite_date betwen :from_date and :to_date
------
:from_date parameter for from date
:to_date m parameter fro to date
ودة البرمتر هدخل فية التواريخ الى ان عاوز تجيب فيها الارباح دى ادق

ولو عوزت اى حاجة انا فى الخدمة وشكرا

رابط هذا التعليق
شارك

اخي الحبيب a.tofy

بارك الله فيك وببقية الاخوة

انا جربت الكودين وحصلت على تنفيذ ناجح

بس لو تسمحلي حضرتك ، ولو ممكن تساعدني في ايجاد الربح على مستوى الريكود يعني (الكود الاول) ، بس النتيجة يتم تخزينها في حقل profit ضمن نفس الجدول ، لكي ممكن اعرف منها ان المنتج الاول يتم من خلاله ربح كذا والمنتج الثاني يتم من خلاله ربح كذا وهكذا.

انا محتاج اعملها جدا ، بارك الله في الجميع

رابط هذا التعليق
شارك

السلام عليكم

Declare
Cursor C Is
Select Nvl(Cost   , 0), 
       Nvl(Sale   , 0), 
       Nvl(Profite, 0)
  From Sales;
Begin
For Rec In C Loop
 Rec.Profite := Nvl(Rec.Cost, 0) - Nvl(Rec.Sale, 0);
 Commit;
End Loop;	
End;

رابط هذا التعليق
شارك

اخي العزيز بارك الله فيك على الكود

لكني حاولت تنفيذه لكنه لم يتنفذ معي


  1   Declare
 2           Cursor C Is
 3           Select Nvl(Cost   , 0),
 4                  Nvl(Sale   , 0),
 5                  Nvl(Profit, 0)
 6             From Sale;
 7   Begin
 8           For Rec In C Loop
 9            Rec.Profit := Nvl(Rec.Cost, 0) - Nvl(Rec.Sale, 0);
10            Commit;
11           End Loop;
12*  End;
SQL> /
         Rec.Profit := Nvl(Rec.Cost, 0) - Nvl(Rec.Sale, 0);
             *
ERROR at line 9:
ORA-06550: line 9, column 15:
PLS-00302: component 'PROFIT' must be declared
ORA-06550: line 9, column 11:
PL/SQL: Statement ignored



حاولت كثيرا ان اعرف وين المشكلة ، لكني لم افلح

ياريت اتفيدني

لأني جدا محتاج هذا الكود

رابط هذا التعليق
شارك


اخي العزيز بارك الله فيك على الكود

لكني حاولت تنفيذه لكنه لم يتنفذ معي


  1   Declare
 2           Cursor C Is
 3           Select Nvl(Cost   , 0),
 4                  Nvl(Sale   , 0),
 5                  Nvl(Profit, 0)
 6             From Sale;
 7   Begin
 8           For Rec In C Loop
 9            Rec.Profit := Nvl(Rec.Cost, 0) - Nvl(Rec.Sale, 0);
10            Commit;
11           End Loop;
12*  End;
SQL> /
         Rec.Profit := Nvl(Rec.Cost, 0) - Nvl(Rec.Sale, 0);
             *
ERROR at line 9:
ORA-06550: line 9, column 15:
PLS-00302: component 'PROFIT' must be declared
ORA-06550: line 9, column 11:
PL/SQL: Statement ignored



حاولت كثيرا ان اعرف وين المشكلة ، لكني لم افلح

ياريت اتفيدني

لأني جدا محتاج هذا الكود

رابط هذا التعليق
شارك

السلام عليكم
هذا الكود سيعمل معك ان شاءالله..

Declare        
Cursor C Is        
Select Nvl(Cost   , 0) Cost,                
      Nvl(Sale   , 0) Sale,                
      Nvl(Profit, 0) Profit         
 From Sale;
Begin  
For Rec In C Loop         
Update Sale
    Set Profit = Nvl(Cost, 0) - Nvl(Sale, 0);                  
Commit;
End Loop;       
End;



موفق

رابط هذا التعليق
شارك

ربي يوفقك يا غالي

نفذت الايعاز وتنفذ على اكمل وجه


بارك الله فيك وكثر من امثالك ، وسهل امرك دنيا واخرة


وكذلك بارك الله في كل من ساهم في الرد على طلبي وفي كل اعضاء المنتدى

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية