الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

جملة select لأكثر من جدولين

بدأه suz في 30 أغسطس 2010 · 1 رد · 583 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي قاعدة بيانات بها 4 جداول

الجدول الأول : sections

حقوله : SectionID ' SectionName

الجدول الثاني : Units

حقوله : UnitID ' UnitName

الجدول الثالث : Descreption

حقوله : DesID ' SectionID ' Descreption

الجدول الرابع : Main_Line

حقوله : MainLineID ' SectionID ' DesID ' UnitID ' MainLine_Quantity ' MainLine_Unit_Price

المطلوب : إيجاد مجموع MainLine_Quantity كل علي حسب Descreption و SectionName

و قد كتبت هذه الجملة و كانت النتيجة خاطئة فأين الخلل

select SectionName,MainLine_Descreption,sum(MainLine_Quantity)

from dbo.Sections inner join dbo.MainLine_Descreption

inner join dbo.Main_Line

on Sections.SectionID=MainLine_Descreption.SectionID

and MainLine_Descreption.MainLine_DesID=Main_Line.MainLine_DesID

group by SectionName,MainLine_Descreption

تم تعديل هذه المشاركة بواسطة suz في 30 أغسطس 2010 في 22:23

#2

لديك اختلاف بين أسماء الجداول التي ذكرتها، وأسمائها في الاستعلام sleep.gif

بما أنك لم تضع أمثلة عن القيم المخزنة في الجداول فقد قمت بوضع قيم افتراضية وكتبت الاستعلامين التاليين.. اللذين سيعطيان ذات النتيجة:

select sectionname,description,sum(mainline_quantity) as "sum"
from sections
inner join description on description.sectionid = sections.sectionid
inner join main_line on main_line.desid = description.desid
inner join units on main_line.unitid = units.unitid
group by sectionname,description

select sectionname,description,sum(mainline_quantity) as "sum"
from sections,description,main_line,units
where main_line.desid = description.desid
and description.sectionid = sections.sectionid
and units.unitid = main_line.unitid
group by sectionname,description

post-7008-088309200 1283215121_thumb.jpg

post-7008-053520300 1283215133_thumb.jpg

لو قمت بإرفاق قاعدة البيانات لديك أو وضعت أمثلة عن القيم المخزنة فبالتأكيد ستحصل على إجابة أفضل، بدل فتح 4 مواضيع لذات الغرض على مدى الأسبوع الماضي sleep.gif

المرفقات
1.JPG2.JPG
1

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

مواضيع مشابهة