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

الموضوع: من يستطيع حل لغز استلام SQL مشروط

  1. #1

    من يستطيع حل لغز استلام SQL مشروط



    السلام عليكم ورحمة الله
    يا شباب عندي لغز حيرن مره الي هو

    عندي جدولين a , b
    اود ان استعلم من الجدول a كل الحقول

    بشرط ان الحقل 1 = قيمة موجوده في نفس الجدول a و b

    والحقل 2 = القيمة موجوده فقط في b

    اهم شي الشرط
    وابغاهم في استعلام واحد
    القيم اي شي مثل 10 او 3 او ...

    ولكم شكري وامتناني







  2. #2
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    731


    كود:
    SELECT Table1.*,Table2.* FROM Table1, Table2 WHERE (Table1.id=1 AND Table2.id = 1 ) AND Table2.name = "ALI"
    اذا مو هذا قصدك ياليت توضح أكثر





    __________________
    Saudi Wanderer
    My Blog : SWanderer

  3. #3


    عفوا اخوي

    الشغل عبارة عن تصويت

    انا مسوي جدول عنوان التصويت وجدول ثاني فيه الأسئلة مع الاجوية

    الى الان الشغل تمام يجي عضو يصوت على التصويت رقم 1 ويرسل التصويت لى جدول يتم حفظ رقم العضو ورقم التصويت ورقم السؤال والجواب

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

    الجداول
    جدول لعناوين التصويت وسميته مثلا Table1 الحقول id ,title

    جدول للأسئلة واسمه table2 والحقول id , title , id_to_table_1
    id_to_table_1 مربوط جدول التصويت بجدول الاسئلة

    جدول بعد عملية التصويت وسميته table3 والحقول id , id_to_table1 , id_to_table2 , id_user_from_users_table

    ابيه اذا استعلم من table1 يشيك قبل من table3 من شان يشوف هل العضو صوت من قبل لهذا التصويت

    وممكن العضو يصوت اكثر من تصويت بس الاختلاف في نوع التصويت

    ارجو ان شرحي يكون واضح






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


    تقريبا فهمت وش تقصد
    لكن سؤالك يحتاج اعاده صياغة وتوضيح اكثر..

    عندك ثلاث جداول

    T1,T2,T3

    T1 فيه التصويت
    T2 فيه الخيارات
    T3 فيه سجل التصويتات

    بالنسبة ل id_to_table1 هذا الحقل ماتحتاجه يكفي ان T3 مربوط بـ T2 الذي مربوط بـ T1 فبسهوله تربطهم بدون اي مشكلة..

    ابيه اذا استعلم من table1 يشيك قبل من table3 من شان يشوف هل العضو صوت من قبل لهذا التصويت
    نفترض ان الاستعلام الذي يظهر التصويت
    كود:
    Select * from T1 Limit 1
    يكون الاستعلام الجديد
    كود:
    Select T1.*, IF(T3.id_user_from_users_table = '##',1,0) as voted_before from T1 
    LEFT Join T2 on T2.id_to_table1 = T1.id
    LEFT JOIN T3 on T3.id_to_table2 = T2.id
    Limit 1
    ## = رقم العضو
    ويكون الناتج في voted_before
    0 اذا لم يصوت
    1 صوت من قبل

    وقس على هذا في عمليه التصويت ووو حسب متطلبك
    اهم شيء تعرف الJOIN وكيف تستخدم حقل موجود في جدول اخر على انه حقل في نفس الجدول.
    بالتوفيق.





    __________________
    موقعي الشخصي
    www.Flasher.ws

    جزيرة الفنون
    www.Artsisland.net

  5. #5


    معليش بس عندي

    T0 فيه عنوان التصويت . اي مثلا عندي 10 تصويتات ولكل تصويت عنوان وهذا هو العناون
    T1 فيه الاسئلة
    T2 فيه الخيارات
    T3 فيه سجل التصويتات

    كيف ربط الجداول في mysql

    ارجو انك تكون فهمت قصدي

    واشكر لك اهتمامك والله اتعبن جدا






  6. #6
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    731

    Smile



    عفوا اخوي

    الشغل عبارة عن تصويت

    انا مسوي جدول عنوان التصويت وجدول ثاني فيه الأسئلة مع الاجوية

    الى الان الشغل تمام يجي عضو يصوت على التصويت رقم 1 ويرسل التصويت لى جدول يتم حفظ رقم العضو ورقم التصويت ورقم السؤال والجواب

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

    الجداول
    جدول لعناوين التصويت وسميته مثلا Table1 الحقول id ,title

    جدول للأسئلة واسمه table2 والحقول id , title , id_to_table_1
    id_to_table_1 مربوط جدول التصويت بجدول الاسئلة

    جدول بعد عملية التصويت وسميته table3 والحقول id , id_to_table1 , id_to_table2 , id_user_from_users_table

    ابيه اذا استعلم من table1 يشيك قبل من table3 من شان يشوف هل العضو صوت من قبل لهذا التصويت

    وممكن العضو يصوت اكثر من تصويت بس الاختلاف في نوع التصويت

    ارجو ان شرحي يكون واضح
    سم :

    كود:
    SELECT Table1.*,Table3.* FROM Table1 
    LEFT JOIN Table3 
    WHERE Table1.id !=Table3.id_to_table1






    __________________
    Saudi Wanderer
    My Blog : SWanderer

  7. #7


    اشكرك اخي
    وايضا Flasher على اهتمامكم

    اخي SWanderer

    اقتراحك صحيح بس يعطين ان هناك خطا بالقرب من WHERE Table1.id !=Table3.id_to_table1
    هل Table1.id عبارة صحيحة
    اشكرك مره اخرى






  8. #8


    انا استخدمت تقريبا نصف الحل بس ابي يستعلم عن رقم العضو

    كود:
    SELECT * FROM table1 WHERE (  id <> all (SELECT id FROM table3)
    بس بقي شرط حقل العضو كيف اضيفه










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

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

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