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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

سؤال عن استعلام


5 رد (ردود) على هذا الموضوع

#1 نور الشمس 2010

نور الشمس 2010

    مشترك

  • الأعضــاء
  • 71 مشاركة

تاريخ المشاركة 08 February 2007 - 08:47 PM

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


ازاى اعمل استعلام يقوم
بحساب مجموع اجمالى عدد معين من الحقول مرتبط بمفتاح اساسى واحد

بمعنى انا مثلا عندى جدول الموظفين و جدول مفردات المرتب
الموظف الواحد له مجموعة من المفردات فى جدول مفردات المرتب

ازاى اجمع المفردات الخاصة بكل موظف على حدى

فى PL/SQL

#2 hanyfreedom

hanyfreedom

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,481 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Chess , Sudoku

تاريخ المشاركة 09 February 2007 - 03:07 PM

أرجو ان تكتب بنية جدول مفردات المرتب ..... حتى أستطيع عمل كود يوفى لك طلبك.

#3 نور الشمس 2010

نور الشمس 2010

    مشترك

  • الأعضــاء
  • 71 مشاركة

تاريخ المشاركة 09 February 2007 - 11:58 PM

السلام عليكم

جدول الموظف Employee يتكون من

SSN
Name
و باقى بيانات الموظف

و جدول الاستحقاقات للموظف DesEmp

DesCode كود الاستحقاق
SSN رقم الموظف
DesValue قيمة الاستحقاق

المفتاح الرئيسى لجدول DesEmp هو ( DesCode , SSN )

كود الاستحقاق رقم الموظف قيمة الاستحقاق
1 1111 50
2 1111 10
3 1111 60
1 2222 100
2 2222 500
2 3333 10


انا عايز اجمع قيمة الاستحقاقات الخاصة لكل موظف على حدى و عدد الاستحقاقات له

و سؤال كمان انا عايز اعمل حقل يتسجل فيه وقت الحضور و وقت الانصراف اليومى للعاملين
انا عرفت الحقل ده من نوع Date لكن نوع Date مش بيقبل غير تاريخ فقط و فى sql مش بيقبل ان اعرف متغير بنوع time

و عايز اطرح هذا الحقل من حقل بداية العمل لاحسب الوقت الذى تاخره العامل

و شكرا

#4 moro_555

moro_555

    عضو

  • الأعضــاء
  • 33 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 10 February 2007 - 09:40 AM

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

على حد فهمي ان إجابة السؤال الاول هتكون كالتالي :
select sum(des_value),count(des_code)
from table_name
group by des_code,ssn


أما السؤال الثاني
فسوف اعطيك جملة استعلام تستطيع من خلالها طرح ساعتين من حقلين بغض النظر عن اليوم الموجود في الحقل

SELECT TO_DATE(TO_CHAR(TO_DATE('01-08-2006 10:20','DD-MM-YYYY HH24:MI'),'HH24:MI'),'HH24:MI') -
TO_DATE(TO_CHAR(TO_DATE('01-08-2006 09:00','DD-MM-YYYY HH24:MI'),'HH24:MI'),'HH24:MI') ADD_DATE FROM DUAL

-- هيرجع الفرق بينهم رقم جزء من اليوم لو ضربناه في 24 هيرجع عدد ساعات ولو ضربنا في 60 يرجع عدد الدقايق.

#5 نور الشمس 2010

نور الشمس 2010

    مشترك

  • الأعضــاء
  • 71 مشاركة

تاريخ المشاركة 11 February 2007 - 12:53 AM

شكرا moro_sss

انا طبقت الكود ده
و نفع مع Sql

select sum(DESVALUE),ssn

from DESEMP group by ssn ;


عملته كده مع pl/sql اعطى خطا فى الكود على group by

begin select sum(DESVALUE)
into :TOTAL_SARLY from DESEMP group by ssn ;
end;


#6 -=|mOOdY|=-

-=|mOOdY|=-

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,324 مشاركة

تاريخ المشاركة 11 February 2007 - 01:08 AM

جملة ال group by تقوم بارجاع اكثر من قيمة
عليكي باستعمال كيرسر اذا كنتي بحاجة الى استرجاع كلالقيم
او اضيفي جملة where لاعادة قيمة واحدة فقط

تحياتي

صورة

!!! كم أنت عبقري !!!