اذهب إلى المحتوى

السؤال

نشر

لدي الجداول التالية :

جدول events:

--------------------------------
|  id  |  title     |  type    |
--------------------------------
|  1   |  EventNo1  |  travel  |
|  2   |  EventNo2  |  info    |
|  3   |  EventNo3  |  travel  |
|  4   |  EventNo4  |  sport   |
|  5   |  EventNo5  |  info    |
--------------------------------

جدول types:

--------------------------------
|  id  |  type    |  label     |
--------------------------------
|  1   |  travel  |  xxx #1    |
|  2   |  info    |  xxx #2    |
|  3   |  sport   |  xxx #3    |
--------------------------------

وأريد دمج الجدولين في جدول واحد حسب type هكذا:

-------------------------------------------
|  id  |  title     |  type    |  label   |
-------------------------------------------
|  1   |  EventNo1  |  travel  |  xxx #1  |
|  2   |  EventNo2  |  info    |  xxx #2  |
|  3   |  EventNo3  |  travel  |  xxx #1  |
|  4   |  EventNo4  |  sport   |  xxx #3  |
|  5   |  EventNo5  |  info    |  xxx #2  |
-------------------------------------------

كيف أتمكن من فعل ذلك على Mysql؟

Recommended Posts

  • 0
نشر

حتى تتمكن من إظهار جدولين بشكل مترابط، أولا يجب أن يتوفر حقل رابط بينها، وفي هذه الحالة هنا حقل type الموجود بكل من جدول events وجدول types.

والرابط سيتم استخدامه عن طريق  INNER JOIN مع تحديد الحقلين المترابطين، حيث يكونا من نفس النوع (Int,String,date...) ليتم ربط القيم المتساوية فيما بينها وبالتالي نحصل على جدول به الجدولين السابقين بشكل مترابط، هكذا:

SELECT events.id, events.title, events.type, types.id, types.type, types.label
FROM events 
INNER JOIN types
ON events.type = types.type

وهذا مثال آخر مع Inner Join:

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;

الصورة التالية تبيّن مبدأ Inner Join:

img_innerjoin.thumb.gif.16aed1d1d883e1c6

لرؤية مثال على النتائج المحصل عليها من خلال مثال توضيحي:

select_join_inner

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...