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

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

صورة
- - - - -

كيف أعمل crosstab ذى الموجود بالأكسس بالأوراكل


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

#1 zezoo44

zezoo44

    عضو

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

تاريخ المشاركة 04 August 2005 - 09:36 AM

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

يا جماعة أنا عايز طريقه تكافىء crosstab الموجود بالأكسس
والمتعرضلهاش هوصفها
حاجة بيقال عليها matrix query
عايز أحول معلومات من عمود وأعملها كأعمده
مثلا
جدول به اسماء المواد وآخر به أسماء الطلبه وآخر يتكون من ثلاث أعمده فقط رقم الطالب ورقم الماده والدرجة
عايز أطلع من الثلاث جداول دول بكويرى الوصف التالى
الأعمده تكون رقم الطالب واسمه و أسماء المواد كأعمده وطبعا بيقابلها فى لاصف قيمة الدرجة
يا ريت أكون قدرت أوصل الفكره
على العموم أنا عملت الموضوع ده بالأكسس لكن عايز المقابل بتاعه فى الأوراكل
وسأرفق ملف الأكسس المعمول وبه الجداول والكويرى المصمم المطلو شبيه له بالأوراكل
ولكم جزيل الشكر :)

ملفات مرفقة

  • ملف مرفق  db1.rar   11.84كيلو   84 عدد مرات التحميل


#2 أسامة موسى

أسامة موسى

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

  • المجموعة الماسية
  • 2,381 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 04 August 2005 - 11:32 AM

الاخ الكريم
اليك هذا الرابط
http://www.psoug.org...ence/joins.html
۩ اللهـــــــــــــــــــــــم صلي على سيدنا محمد وعلـى آله وصحبه أجمـعين ۩
۩ سبحـــــــــــــــــان الله وبحمده ....... سبحــــــــــــــــــــــــان الله العظيم ۩



يمكنك زيارتي على صفحتي الخاصة بالفيس بوك على الرابط AskOsama

يمكنك زيارتي على مدونتي الجديدة على الرابط http://askossama.blogspot.com

#3 AHMADS

AHMADS

    عضو

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

تاريخ المشاركة 06 August 2005 - 05:18 AM

اخي الكريم هل تحتاج للكود فقط لعمل كويري ام تحتاج كل الشاشات اللي ذكرتها ؟

هل هذه الجداول موجودة و منشأة عندك في DATABASE ؟

وضح اكثر؟

#4 zezoo44

zezoo44

    عضو

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

تاريخ المشاركة 06 August 2005 - 01:13 PM

أنا متشكر على اإهتمام يا جماعة
الرابط مفيد جدا الدتهونى بس ملقتشى طلبى برده
الكره كلها إن عايز أعمل حاجه ذى غلأنا شرحتها بالكود وهيه اتعملت بالأكسس وعايز المقلبل بتاعها بالأوراكل
أنا مش عايز غير الكويرى فقط اليطلع الأنا عايزه أو حتى الفكره
أرجو أن أكون وصلت المطلوب
ومره تانيه شاكر جدا على الإهتمام
وأنا لو لقيت الحل إن شاء الله هعرضه عليكم

جعله الله فى ميزان حسناتكم

#5 أسامة موسى

أسامة موسى

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

  • المجموعة الماسية
  • 2,381 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 06 August 2005 - 02:22 PM

الاخ الكريم

اليك رابط آخر


وهذا الملف

ملفات مرفقة

  • ملف مرفق  innerjoin.pdf   24.39كيلو   145 عدد مرات التحميل

۩ اللهـــــــــــــــــــــــم صلي على سيدنا محمد وعلـى آله وصحبه أجمـعين ۩
۩ سبحـــــــــــــــــان الله وبحمده ....... سبحــــــــــــــــــــــــان الله العظيم ۩



يمكنك زيارتي على صفحتي الخاصة بالفيس بوك على الرابط AskOsama

يمكنك زيارتي على مدونتي الجديدة على الرابط http://askossama.blogspot.com

#6 mm_taha

mm_taha

    مشترك

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

تاريخ المشاركة 09 August 2005 - 01:05 PM

أخى ألكريم أعتقد لأنه لايوجد شىء اسمه matrix query

و لكنك يمكنك عمل ريبورت على شكل Matrix or CrossTab من خلال الريبورت بيلدر

وذلك عن طريق اختيار Style=Matrix ثم تختار الصفوف والأعمدة كما فى الأكسي

واعتقد ان هذا ما تريدة

#7 zezoo44

zezoo44

    عضو

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

تاريخ المشاركة 10 August 2005 - 02:23 PM

اخى الكريم أنا اعلم Matrix Report
ولكن هذا الموضوع طلب منى ووصف لى كما وصفته
matrix query ده مش اسمه العلمى ده تشبيه بس لأنه فعلا بيشبه matrix report
العرفته لحد دلوقتى إن هوه هيتبنى من الحاجات البسيطه يعنى مفيش حاجة خاصه بيه من
join ,group by ,.......
لكن هوه اتضح أن ملوش حاجه خاصة

#8 zezoo44

zezoo44

    عضو

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

تاريخ المشاركة 10 August 2005 - 02:23 PM

اخى الكريم أنا اعلم Matrix Report
ولكن هذا الموضوع طلب منى ووصف لى كما وصفته
matrix query ده مش اسمه العلمى ده تشبيه بس لأنه فعلا بيشبه matrix report
العرفته لحد دلوقتى إن هوه هيتبنى من الحاجات البسيطه يعنى مفيش حاجة خاصه بيه من
join ,group by ,.......
لكن هوه اتضح أن ملوش حاجه خاصة

ولكم جزيل الشكر على إهتمامكم
ويجعله الله فى ميزان حسناتكم

#9 أسامة موسى

أسامة موسى

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

  • المجموعة الماسية
  • 2,381 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 10 August 2005 - 03:11 PM

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

والله انا افكر بطريقة حل السؤال ولكنة لم اصل الى نتيجة لأنشغالي
ارجو ان تجد الحل
مع التحية لك ولمواضيعك المميزة
۩ اللهـــــــــــــــــــــــم صلي على سيدنا محمد وعلـى آله وصحبه أجمـعين ۩
۩ سبحـــــــــــــــــان الله وبحمده ....... سبحــــــــــــــــــــــــان الله العظيم ۩



يمكنك زيارتي على صفحتي الخاصة بالفيس بوك على الرابط AskOsama

يمكنك زيارتي على مدونتي الجديدة على الرابط http://askossama.blogspot.com

#10 zezoo44

zezoo44

    عضو

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

تاريخ المشاركة 14 August 2005 - 09:35 AM

أخى الكريم أنا شاكر على الإهتمام وصفك للموضوع تماما ذى ما أنا عايزه
وهيه فكره ونقطة بحث
ودعواتك نوصل لحلها
وأنشرها على المنتدى

إنى أحبك فى الله

#11 mm_taha

mm_taha

    مشترك

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

تاريخ المشاركة 15 August 2005 - 01:06 PM

جملة الأستعلام هذة تعطى نفس النتيجة الموجودة بالأكسيس و لكن بافتراض ان عدد المواد ثابت وعند تغير المواد يجب تعديل جملة الأستعلام لتعطى النتيجة الصحيحة


SELECT   students.s_nm,
SUM (DECODE (subjects.sub_nm,
'رياضة', degrees.DEGREE,
0
)) AS "رياضة",
SUM (DECODE (subjects.sub_nm, 'فيزياء', degrees.DEGREE, 0)
) AS "فيزياء",
SUM (DECODE (subjects.sub_nm, 'كيمياء', degrees.DEGREE, 0)
) AS "كيمياء"
FROM subjects, students, degrees
WHERE students.s_id = degrees.s_id AND subjects.sub_id = degrees.sub_id
GROUP BY students.s_nm


#12 mm_taha

mm_taha

    مشترك

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

تاريخ المشاركة 16 August 2005 - 10:23 AM

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


/* Formatted on 2005/08/16 10:07 (Formatter Plus v4.8.6) */
DECLARE
TYPE anytab IS TABLE OF VARCHAR2 (2000);

mytable anytab;
sqlstr VARCHAR2 (2000);
myqry VARCHAR2 (2000);
mystr VARCHAR2 (2000);
mycounter NUMBER;
BEGIN sqlstr := 'SELECT sub_nm FROM subjects'; EXECUTE IMMEDIATE sqlstr
BULK COLLECT INTO mytable; FOR mycounter IN mytable.FIRST .. mytable.LAST
LOOP
mystr :=
mystr
|| ','
|| 'SUM(Decode(subjects.sub_nm,'
|| ''''
|| mytable (mycounter)
|| ''''
|| ',Degrees.degree,0)) as '
|| mytable (mycounter);
END LOOP;

myqry :=
'SELECT students.s_nm'
|| mystr
|| ' FROM subjects, students, degrees '
|| ' WHERE students.s_id = degrees.s_id AND subjects.sub_id = degrees.sub_id '
|| ' GROUP BY students.s_nm ';

EXECUTE IMMEDIATE myqry;
END;


#13 أسامة موسى

أسامة موسى

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

  • المجموعة الماسية
  • 2,381 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 16 August 2005 - 03:49 PM

فكرة جديرة بالاحترام
۩ اللهـــــــــــــــــــــــم صلي على سيدنا محمد وعلـى آله وصحبه أجمـعين ۩
۩ سبحـــــــــــــــــان الله وبحمده ....... سبحــــــــــــــــــــــــان الله العظيم ۩



يمكنك زيارتي على صفحتي الخاصة بالفيس بوك على الرابط AskOsama

يمكنك زيارتي على مدونتي الجديدة على الرابط http://askossama.blogspot.com