الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

هل من احد يعرف الإستعلام باستخدام التوحد و التقاطع

مغلق
بدأه فواز الشمري في 1 يوليو 2006 · 5 رد · 1,270 مشاهدة · في قواعد بيانات MySQL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اريد معلومات حول استخدام الإتحاط والتقاطع بشكل مفصل .

فهل من رد

#2

ارجو توضيح ما تريد

ماذا تقصد بالاتحاط؟؟؟؟؟

هل تقصد بالتقاطع هو عمل تقاطع بين السجلات؟؟

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#3

اقصد الإتحاد والتقاطع في الإستعلامات .

كيف تعمل الفكرة منها مع مثال يعني تريد معلومات عن استخدامها في الـ Sql .

الأنه لدي مشاكل قد تحل عن طريق الإتحاد والتقاطع .

أي التقاطع والإتحاد بين السجلات كما تفضلت .

#4

بالنسبة للاتحاد انظر union

والتقاطع بنفس الطريقة مع استبدال كلمة union ب intersect

الاتحاد هو اختيار سجلات من جدولين نتيجتي الاستعلام بدون السجلات المشتركة بينهما

والتقاطع هو السجلات المشتركة بين الجدولين أو نتيجتي الاستعلام.

بالتوفيق بإذن الله

:)

فكر بطريقة أخرى

#5

الاجتماع (Union): تجمع هذه العملية كافة الأسطر من الجدولين، دون تكرار الأسطر الموجودة في الجدولين. لتطبيق هذه العملية يجب أن يتطابق الجدولين في ترتيب وأنماط الأعمدة. لاحظ الصورة

05_07_06_04_19_32_11520983721.JPG

لحظ انه كيف تم دمج السجلات مع بعضها البعض لكي تعيد نتيجة و هي جدول

لاحظ ايضا انه لم يتم تكرار السجل رقم 1 مرتين و ذلك بسبب وجوده اي تكراره في كلا الجدولين

اذا اردت ان يتكرر السجل رقم 1 استخدم Union All بدل Union

عادة ما يتم استخدامها مع لدمج بين نتائج تعليمات Select ترجع نفس الاعمدة ممكن مثلا ان ترى هذه المشاركة كمثال عن استخدامها و كيف تم حل المشكلة

/index.php?showtopic=100576

التقاطع (Intersection): ينتج عن هذه العملية جدول يضم الأسطر المشتركة بين الجدولين الأساسيين، يجب أن يكون الجدولان المطبق عليهما هذه العملية منسجمان من حيث عدد الأعمدة وترتيبها وأنماطها. لاحظ الصورة

05_07_06_04_23_20_1152098600_.JPG

عادة ما يتم استخدمها لكي تدمج بين مجموعتين من السجلات و يتم ايجاد فقط التقاطع بين المجموعتين

اقتباس
الأنه لدي مشاكل قد تحل عن طريق الإتحاد والتقاطع .

ضع المشاكل التي توجهك في مشاركة اخرى و سوف يتم الاجابة عليها باذن الله :)

رب اجعلني مقيم الصلاة ومن ذريتي ربنا وتقبل دعاء.

لا تنسى: "العقل مثل العضلة كلما استخدمته أكثر كلما ازدادت قوته"

#6

شكرا لك اخي الكريم :

قد حلت الكثير من المشاكل لدي :

لكن :

لدي الحالة التالية :

لدي جدولين الأول خاص بأسماء الأشرطة . والثاني تفاصيل الشريط .

طيب الجدول الأول :

id,cassette_name

الثاني :

id

cassette_name

sound

ايش المشلكة المشكلة طبعا تكمن في ان العلاقة بين الجدولين عملت على اساس cassette_name وهذا خطأ لأنه لو كان ب، id لكان أضل ولكن لو قمت بالتعديل سوف يأخذ منى وقت كبير لترتب عمليات اخر عليه . ولأاخ الذي قام بعمل هذا الجدول ربط كما قلت باسم الشريط .

طيب الجدول الأول لان سوف اضع فيه اسم الشريط وهوا . وليكن السم الشريط A وأخر B

في جدول تفاصيل الشريط سوف اضع كما يلي :

1- A soung.rm

2- A soung.rm

3- A soung.rm

4- A soung.rm

اضيف أيضا شريط أخر B

5- B soung.rm

وهكذا .

الأن اريد ان ابحث عن اسم الشريط والذي هوا a أو b عملية البحث سوف انفذها في جدول تفاصيل الشريط طبعا البحث يمكن يرجع لي اكثر من شريط . فإذا وجد الشريط في جدول التفاصيل يجيب لي كم عدد الإصوات التابعة له . وبعد ذلك مثلا لو وجد البحث الشريط A أريد بعد ان يعرف ان عدد الصوات الخاصة به هي 4 يعطيني ايضا رقم الشريط A من جدول الأشرطة .

بحيث يكون الناتج كما يلي :

السم الشريط A

عدد المقاطع 4

الرقم التسلسلي للشريط 1

ايضا أريد عودة رقم الشريط من جدول اللأشرطة .

حاولت فيها باستخدام Group by ونجحت بس لما اجيب رقم الشريط من جدول الأشرطة يحدث معي خطأ في النتائج ليست دقيقة .

هذا الموضوع مغلق.

مواضيع مشابهة