المشاركات : 88
المواضيع 23
:
: 0
الإنتساب : Oct 2012
السلام عليكم و رحمة الله و بركاته
ما هو استعلام sql جمع نتائج ثلاث جداول بجدول ثالث ؟
عندي 3 جداول كل جدول به 3 حقول الحقل الاول الاسم.. الثاني العلامة..الثالث السنة
الاستعلام ل1لحصول على جدول واحد فيه الاسم و مجموع علامته من الجدوال الثلاث لأنها نفس الاسماء في الجداول الثلاثة.
مثال الجدول1 فيه
أحمد 9
علي 7
عمر 11
الجدول2
أحمد 8
علي 12
عمر 10
الجدول3
أحمد 13
علي 10
عمر 10
النتيجة في جدول جديد
أحمد 30
علي 29
عمر 31
المشاركات : 119
المواضيع 0
:
: 0
الإنتساب : Sep 2012
السلام عليكم...
كود :
SELECT Table1.StdName, Table1.Marks + Table2.Marks + Table3.Marks AS SumOfMarks
FROM (Table1 INNER JOIN Table2 ON Table1.StdName = Table2.StdName) INNER JOIN Table3 ON Table1.StdName = Table3.StdName
على اعتبار الجداول الثلاثة هي Table1 و Table2 و Table3 و أن اسم حقل اسم الطالب هو StdName في الجداول الثلاثة، و أن اسم حقل الدرجة هو Marks في الجداول الثلاثة.
نرجو الاستفادة و السلام.
المشاركات : 842
المواضيع 49
:
: 65
الإنتساب : Jun 2010
السلام عليكم
بإستخدام union
كود :
SELECT tabSum.StdName, sum(tabSum.Marks) as sumMarks
from
(
SELECT StdName, Marks from table1
union
SELECT StdName, Marks from table2
union
SELECT StdName, Marks from table3
) as tabSum
group by tabSum.StdName
بالتوفيق
المشاركات : 88
المواضيع 23
:
: 0
الإنتساب : Oct 2012
بارك الله فيكم
هناك إضافة فقط و هي أن "احمد" يمكن أن يتواجد في الجدول الاول فقط
و أن "علي" يمكن أن يتواجد مرتين في الجدول الثاني مثلا
الجدول الاول
مثال الجدول1 فيه
أحمد 9
علي 7
عمر 11
الجدول2
علي 12
علي 13
عمر 10
الجدول3
علي 10
عمر 10
علي 9
عمر 5
النتيجة في جدول جديد
احمد 9
علي 42
عمر 36
مع العلم أن "علي" مكرر ليس تشابه أسماء بل هو نفسه مكرر عدة مرات
المشاركات : 842
المواضيع 49
:
: 65
الإنتساب : Jun 2010
السلام عليكم
يمكنك القيام بعملية الجمع لكل جدول داخل
كود :
SELECT tabSum.StdName, sum(tabSum.Marks) as sumMarks
from
(
)
حاول
بالتوفيق
المشاركات : 88
المواضيع 23
:
: 0
الإنتساب : Oct 2012
أخي عبد الجليل والله لقد حاولت عشرات المرات إن لم أقل المئات قبل أن أطرح السؤال في المنتدى لكن في كل مرة أحصل على نتيجة خاطئة.
المشاركات : 88
المواضيع 23
:
: 0
الإنتساب : Oct 2012
شكرا لك أخي عبد الجليل لقد وجدت الحل و هو بتغيير union بـــ union all
بارك الله فيكم.
السلام عليكم و رحمة الله و بركاته