النتائج 1 إلى 11 من 11

الموضوع: مقارنة بيانات جدولين..من الأسد يلي يحلها

  1. #1
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2003
    المشاركات
    324

    مقارنة بيانات جدولين..من الأسد يلي يحلها



    السلام عليكم ورحمة الله وبركاته
    إخواني
    لدي في قاعدة البيانات جدولين متشابهي المحتوي
    يعني فيهم الحقول التالية(id,name,mail) وأريد أن أعمل مقارنة بين الجدولين عحسب الـid
    بمعنى آخر الجدول الأول فيه بيانات لا توجد في الجدول الثاني فأنا أريد أن أستخرج البيانات الغير موجودة بالجدول الثاني

    أعتقد بأن الامر هو وضع بيانات الجدول الأول في مصفوفة وبيانات الجدول الثانية في مصفوفة وبعدها نعمل المقارنة بين المصفوفتين أو شئ من هذا لكني لم أستطع والله المستعان







  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2003
    المشاركات
    324


    تكفون الله لا يهينكم






  3. #3


    أخي العزيز الحل كله بجملة ال sql
    جرب بالأول قراءة كتاب ksa الخاص ب sql
    لأنه أساسيات مهمة جدا
    و راح تعرف الحل لوحدك





    __________________
    شوف بالله هنا هذا منتدي من برمجتي و تصميمي بأول خطواته
    أعطيني رأيك

    www.gegamix.com

    Gega MiX

    أعطيني رأيك بالمنتدي عشان تكسب فيا خير و تشحعني علي الشغل !!

    تحياتي لكل الحبايب سوالف الرهيبين

    الماسنجر :: bigrock2002 :) hotmail.com

  4. #4
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2003
    المشاركات
    324


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

    ويارت تدلني على الكتاب يلي أخبرتني عنه
    جزاك الله خير






  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2003
    المشاركات
    324


    أرجوكم

    فمن كان في حاجة أخيه كان الله في حاجته






  6. #6
    عضو شرف
    تاريخ التسجيل
    Apr 2002
    المشاركات
    1,379

    تجربه



    فيه اكثر من فكره
    table1 = الجدول الأول
    table2 =الجدول الثاني

    الحل الأمثل:
    بستخدام subselect (تعمل فقط في الإصدار 4.1 وأعلى) وبهذه يمكن أن تستخرج البينات التى في الجدول الأول وغير موجوده في الجدول الثاني.
    كود:
     SELECT id FROM table1 WHERE id NOT IN (SELECT id FROM table2);
    الحل الثاني:
    تستعلم من الجدولين عن البينات المكرره وتضعها في جدول او تحذفها
    كود:
    SELECT * FROM table1,table2 WHERE table1.id = table2.id;
    وبإستخدام الإستعلامين السابقين يمكن ان تنشيء جدول جديد يحتوي على البينات النقيه

    كتابة البينات من الزائدة من الجدول الأول
    كود:
    INSERT INTO table3 SELECT id FROM table1 WHERE id NOT IN (SELECT id FROM table2);
    كتابة البينات كلها بدون تكرار من الجدولين
    كود:
    INSERT INTO table3 SELECT table1.* FROM table1,table2 WHERE table1.id = table2.id;
    الحل الثالث:
    أن تضع محتويات الجدولين كلها في جدول ثالث ... وتستخرج النتائج بدون تكرار
    كود:
    INSERT INTO table3 SELECT * FROM table1;
    كود:
    INSERT INTO table3 SELECT * FROM table2;
    إستخراج البينات الغير مكرره وكامله من الجدولين
    كود:
    SELECT DISTINCT id FROM  table3;

    لم أجرب بشكل عملي(غير مسؤول عن الكود ) ... لكن أعتقد انه حل





    __________________
    ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
    الاتصال: daif@daif.net او جوال: 0556639884
    الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .

  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2003
    المشاركات
    324


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

    كود:
     SELECT id FROM table1 WHERE id NOT IN (SELECT id FROM table2);
    وعند استخدام هذه العبارة
    كود:
    SELECT * FROM table1,table2 WHERE table1.id = table2.id;
    يعطيني نتائج جيدة ويعطيني الاسماء الموجودة بالجدول الأول والجدول الثاني
    جرب ان أكتب كدا
    كود:
    SELECT * FROM table1,table2 WHERE table1.id <> table2.id;
    وبعدها ما أدري وش أصابو السيرفر هنج وارتفع اللود بشكل عجيب ... وعقدني :con2:
    أما من حل يا أخوة تكفون






  8. #8
    عضو شرف
    تاريخ التسجيل
    Apr 2002
    المشاركات
    1,379


    بالنسبه للإستعلام الأول ... تأكد من إصدارة mysql التى لديك .
    الأستعلام الثالث خطأ وغير منطقي .... فهو سوف يعرض لك الجدولين كماهما بدون أي شيء .

    لا اعتقد انه ممكن .. بقي لديك الحل الثالث ... جربه





    __________________
    ضيف الله العتيبي مبرمج حر و مهندس معتمد من زيند (ZCE)
    الاتصال: daif@daif.net او جوال: 0556639884
    الخدمات: تقديم استشارات برمجيه, تطوير بوابات/خدمات إلكترونيه للقطاع العام او الخاص .

  9. #9
    عضو فعال
    تاريخ التسجيل
    Feb 2002
    المشاركات
    1,454


    جرب هذا الاستعلام وان شاء الله ينفع معك
    كود:
    SELECT t1.* FROM table1 t1 LEFT JOIN table2 t2 ON t2.id=t1.id WHERE t2.id IS NULL
    تحياتي للجميع





    __________________
    شبكة مملكة العرب
    ---------------------
    استضافة مواقع تبدأ من 100 ريال سنويا
    خطط خاصة للموزعين
    سكربت دليل المواقع
    www.aknet.com

  10. #10
    عضو نشيط جدا
    تاريخ التسجيل
    Feb 2003
    المشاركات
    324


    جزاكم الله خير اخواني تم العمل بحمد الله بعد تحويل القاعدة الى أكسس ومن هناك سويتها
    قد تكون العملية طويلة وغير عملية لكن ما أفعل....اضطررت
    أخي code4arab سأجرب استعلامك جزاك الله خير






  11. #11


    daif
    شكلك خبير sql

    و الأخي code4arab
    مبدع





    __________________
    شوف بالله هنا هذا منتدي من برمجتي و تصميمي بأول خطواته
    أعطيني رأيك

    www.gegamix.com

    Gega MiX

    أعطيني رأيك بالمنتدي عشان تكسب فيا خير و تشحعني علي الشغل !!

    تحياتي لكل الحبايب سوالف الرهيبين

    الماسنجر :: bigrock2002 :) hotmail.com





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض