علي الكاسر نشر 8 فبراير 2023 أرسل تقرير نشر 8 فبراير 2023 حاولت مرارا وتكرارا عمل هذا الاستعلام ولكن فشل في كل مره عن الرجوع باي بيانات. SELECT * FROM messages me INNER JOIN user us ON me.msg_id_user_1 = us.id UNION SELECT * FROM messages2 me2 INNER JOIN user us ON me.msg_id_user_1 = us.id اقتباس
0 Muhammad Nasser2 نشر 8 فبراير 2023 أرسل تقرير نشر 8 فبراير 2023 نعم، من الممكن دمج عملية INNER JOIN و UNION في استعلام واحد في MySQL. عامل UNION يستخدم لدمج نتائج استعلامات SELECT متعددة في مجموعة نتائج واحدة، بينما عامل INNER JOIN يستخدم لدمج صفوف من جداول متعددة على أساس عمود متعلق بينها. هنا مثال على دمج عملية INNER JOIN و UNION في استعلام واحد: SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column UNION SELECT * FROM table3 INNER JOIN table4 ON table3.column = table4.column; هذا الاستعلام يدمج نتائج عمليتي INNER JOIN في مجموعة نتائج واحدة باستخدام عامل UNION. الإطار الأول من SELECT يؤدي عملية INNER JOIN بين الجدول 1 و الجدول 2، بينما الإطار الثاني من SELECT يؤدي عملية INNER JOIN بين الجدول 3 و الجدول 4. عامل UNION يدمج نتائج هذين الإطارين من SELECT في مجموعة نتائج واحدة. وايضا يمكنك توضيح قاعده بياناتك لاتمكن من المساعده بشكل افضل. 1 اقتباس
0 علي الكاسر نشر 9 فبراير 2023 الكاتب أرسل تقرير نشر 9 فبراير 2023 بتاريخ 9 ساعة قال Muhammed Nasser: عملية INNER JOIN و UNION في استعلام واحد في MySQL. عامل UNION يستخدم لدمج نتائج استعلامات SELECT متعددة في مجموعة نتائج واحدة، بينما عامل INNER JOIN يستخدم لدمج صفوف من جداول متعددة على أساس عمود متعلق بينها. هنا مثال على دمج عملية INNER JOIN و UNION في استعلام واحد: SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column UNION SELECT * FROM table3 INNER JOIN table4 ON table3.column = table4.column; هذا الاستعلام يدمج نتائج عمليتي INNER JOIN في مجموعة نتائج واحدة باستخدام عامل UNION. الإطار الأول من SELECT يؤدي عملية INNER JOIN بين الجدول 1 و الجدول 2، بينما الإطار الثاني من SELECT يؤدي عملية INNER JOIN نجحت في الربط ولكن فشلت في جعل الجدول يعيد الناتج المطلوب. الفكرة هي انني اريد عمل رسائل خاصه ورسائل عامه، واريد عرض جميع الرسائل اذا كانت خاصه او عامه في مكان واحد وهو الرسائل الواردة، المشكله انني لم استطع التحكم بالرسائل العامه كحذفها مثلا. لدي ثلاثه جداول الاول جدول المستخدمين user وجدول الرسائل messages وجدول لخذين عمليات حذف الرسائل العامة public_messages_delete في جدول الرسائل لدي عمود type لتخزين نوع الرساله اذا كانت عامه 1 واذا كانت خاصه 0 . اقوم بعمل الاستعلام الاول واستخرج الرسائل الخاصه، اما الاستعلام الثاني استخرج الرسائل العامه واربطه مع جدول حذف الرسائل العامه للتحقق مما اذا كانت الرساله محذفه او لا ولاكن الامر فشل حيث انه يعيد الرسائل المحذوفه ومع تكرار الرسائل غير المحذوفه هذا الاستعلام الثاني SELECT msg_message,name FROM messages INNER JOIN user ON messages.msg_id_user_1=user.id INNER JOIN public_messages_delete ON messages.msg_id != public_messages_delete.pmd_id_msg WHERE type=1" اقتباس
السؤال
علي الكاسر
حاولت مرارا وتكرارا عمل هذا الاستعلام ولكن فشل في كل مره عن الرجوع باي بيانات.
SELECT * FROM messages me INNER JOIN user us ON me.msg_id_user_1 = us.id UNION SELECT * FROM messages2 me2 INNER JOIN user us ON me.msg_id_user_1 = us.id
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.