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

السؤال

نشر (معدل)

لدي جدول بأسماء مهندسي حاسوب وجدول آخر بأسماء لغات البرمجة التي يجيدونها، كيف أستطيع جلب أسماء لغات البرمجة التي يجيدها كل منهم مهندس 

Engineers
Name  Age
--------
wael  24
walid 21
wasim 19

ProgramingLanguages
Name   LanguageName
-----------------
wael   c++
wael   java
wael   php
walid  java
walid  javascript
wasim  c#
wasim  asp.NET

 

تم التعديل في بواسطة فاديا جميل

Recommended Posts

  • 1
نشر

علينا القيام بالخطوات التالية:

  • ربط الجدولين حسب حقل الاسم سوف نستخدم LEFT JOIN للتاكد من ورود أسماء المهندسين
  • تجميع النتائج حسب اسم المهندس نستخدم GROUP BY NAME
  • عمل تجميع ضمن عبارة SELECT باستخدام GROUP_CONCATE التي تدمج السلاسل النصية في سلسة واحدة مع تحديد محرف الفصل بين القيم
SELECT x.name, --جلب الاسم

GROUP_CONCAT(y.LanguageName SEPARATOR ', ')   -- دمج أسماء لغات البرمجة التي تعود لنفس المهندس
     
FROM Engineers e
LEFT JOIN ProgramingLanguages pl ON pl.name = e.name  -- عمل ربط حسب اسم المهندس

GROUP BY e.name -- تجميع حسب اسم المهندس

والنتيجة:

Ex: 

wael   c++, java, php
walid  java, javascript
wasim  c#, asp.NET

 

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...