الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Select From Many Tables

Featured Replies

بتاريخ:

السلام عليكم ورحمة الله

تحية طيبة للزملاء اعضاء المنتدى

برجاء من فضلكم انا لدى مشكلة فى Form Builder
لدى جملة استعلام لاكثر من جدول تتم فى داخل SQL بنجاح ولكن على الفورم يظهر خطأ Compile
انا ارسلت جملت الاستعلم يمكن يكون فى طريقة اخرى اقدر استعملها

برجاء الرد للأهمية

select emp.id,f_name,
(select livesal from emp_sal where emp_sal.emp_id(+)=emp.id) sal,
(select sum(action_value) from sal_effect where action_type= 1 and dat_effect='01/04/12' and emp_num(+)=emp.id) discount,
(select sum(action_value) from sal_effect where action_type= 2 and dat_effect='01/04/12' and emp_num(+)=emp.id) sick,
(select sum(action_value) from sal_effect where action_type= 3 and dat_effect='01/04/12' and emp_num(+)=emp.id) penalty,
(select sum(action_value) from sal_effect where action_type= 4 and dat_effect='01/04/12' and emp_num(+)=emp.id) permision,
(select sum(action_value) from sal_effect where action_type= 5 and dat_effect='01/04/12' and emp_num(+)=emp.id) loan
from emp
order by emp.id

تم تعديل بواسطة mohamed.ramadan

بتاريخ:

السلام عليكم
واجهتني نفس المشكلة وبعد البحث تبين ان طريقة كتابة جملة الـ Select بهذه الطريقة لا يدعمها الفورم...
فابمكانك حل الموضوع كالتالي:

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

نفذ البروسيجر من خلال الفورم ومن ثم قراءة البيانات من الجدول الجديد وبعد ذلك قم بحذف البيانات.

موفق.

بتاريخ:
  • كاتب الموضوع
السلام عليكم واجهتني نفس المشكلة وبعد البحث تبين ان طريقة كتابة جملة الـ Select بهذه الطريقة لا يدعمها الفورم... فابمكانك حل الموضوع كالتالي: عمل بروسيجر على الداتا بيز بحيث يتم تخزين ناتج الجملة السابقة في جدول اخر. نفذ البروسيجر من خلال الفورم ومن ثم قراءة البيانات من الجدول الجديد وبعد ذلك قم بحذف البيانات. موفق.


مشكور جدا يابشمهندس احمد على سرعة ردك
ولكن اعذرنى على طلبى ممكن تشرحلى ازاى انشىء بروسيجر على الدتابيز ثم انفذه على الفورم؟؟؟؟؟؟؟؟؟؟؟؟
وشكرا مرة اخرى
بتاريخ:

السلام عليكم
قم بانشاء جدول جديد:


Create Table Emp_Tbl (Id			  Number,
				  F_Name		  Varchar2(200),
				  Sal			 Number,
				  Discount		Number,
				  Sick			Number,
				  Penalty		 Number,
				  Permision	   Number,
				  Loan			Number)



ثم انشيء بروسيجر لادخال البيانات:


Create Or Replace Procedure My_Proc Is
Begin
Insert Into Emp_Tbl (Id, F_Name, Sal, Discount, Sick, Penalty, Permision, Loan)
Select Emp.Id,F_Name,
(Select Livesal From Emp_Sal Where Emp_Sal.Emp_Id(+)=Emp.Id) Sal,
(Select Sum(Action_Value) From Sal_Effect Where Action_Type= 1 And Dat_Effect='01/04/12' And Emp_Num(+)=Emp.Id) Discount,
(Select Sum(Action_Value) From Sal_Effect Where Action_Type= 2 And Dat_Effect='01/04/12' And Emp_Num(+)=Emp.Id) Sick,
(Select Sum(Action_Value) From Sal_Effect Where Action_Type= 3 And Dat_Effect='01/04/12' And Emp_Num(+)=Emp.Id) Penalty,
(Select Sum(Action_Value) From Sal_Effect Where Action_Type= 4 And Dat_Effect='01/04/12' And Emp_Num(+)=Emp.Id) Permision,
(Select Sum(Action_Value) From Sal_Effect Where Action_Type= 5 And Dat_Effect='01/04/12' And Emp_Num(+)=Emp.Id) Loan
From Emp
Order By Emp.Id
End My_Proc;
/



وبامكانك تمرير التاريخ في البروسيجر كـ Parameter حتى يكون Dynamic.

في الفورم نفذ البروسيجر:

My_Proc;


ومن ثم اعمل Select للبيانات من الجدول.

موفق.

بتاريخ:
  • كاتب الموضوع

السلام عليكم
قم بانشاء جدول جديد:


Create Table Emp_Tbl (Id			  Number,
				  F_Name		  Varchar2(200),
				  Sal			 Number,
				  Discount		Number,
				  Sick			Number,
				  Penalty		 Number,
				  Permision	   Number,
				  Loan			Number)



ثم انشيء بروسيجر لادخال البيانات:


Create Or Replace Procedure My_Proc Is
Begin
Insert Into Emp_Tbl (Id, F_Name, Sal, Discount, Sick, Penalty, Permision, Loan)
Select Emp.Id,F_Name,
(Select Livesal From Emp_Sal Where Emp_Sal.Emp_Id(+)=Emp.Id) Sal,
(Select Sum(Action_Value) From Sal_Effect Where Action_Type= 1 And Dat_Effect='01/04/12' And Emp_Num(+)=Emp.Id) Discount,
(Select Sum(Action_Value) From Sal_Effect Where Action_Type= 2 And Dat_Effect='01/04/12' And Emp_Num(+)=Emp.Id) Sick,
(Select Sum(Action_Value) From Sal_Effect Where Action_Type= 3 And Dat_Effect='01/04/12' And Emp_Num(+)=Emp.Id) Penalty,
(Select Sum(Action_Value) From Sal_Effect Where Action_Type= 4 And Dat_Effect='01/04/12' And Emp_Num(+)=Emp.Id) Permision,
(Select Sum(Action_Value) From Sal_Effect Where Action_Type= 5 And Dat_Effect='01/04/12' And Emp_Num(+)=Emp.Id) Loan
From Emp
Order By Emp.Id
End My_Proc;
/



في الفورم نفذ البروسيجر:

My_Proc;


ومن ثم اعمل Select للبيانات من الجدول.

موفق.



بصراحة انا مش لاقى كلام اقوله لحضرتك على سرعة تلبيتك وشرحك الوافى
متشكر جدا يابشمهندس احمد مرة اخرى
وهـبلغ حضرتك بعد الانتهاء
بتاريخ:

فكرة جميلة ماشاء الله يابشمهندس احمد بجد بجد عجبنى جدا طريقة تفكيرك

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

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

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

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

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

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.