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

سؤال عاجل في قواعد المعطيات

بدأه whiteer في 2 يونيو 2009 · 1 رد · 497 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هي أول مشاركة الي بهادا المنتدى

حابة اسأل سؤال بقواعد المعطيات , عندي هي العلاقة

Employee(Id,name,phone,salary,sex,manager_id)ُ

إذا كان لدينا الاستعلام التالي

إظهار قائمة الموظفين الين لديهم نفس المدير مع اسم المدير لكل مجموعة"

المطلوب هو تحديد الواصفة التي من المفيد بناء الفهرس عليها للإجابة عن هذا الاستعلام وبنية الفهرس

أتمنى الاجابة على هذا السؤال

#2

اظن اني لم افهم بشكل كامل ما تريد ولكن

لو تسال عن ارجاع البيانات علي هيئة مجموعات (result sets) بحيث تكون كل مجموعة عبارة موظفين مدير معين

يمكنك استخدام Compute و هي تختلف عن Group by انها تعيد سجلات المجموعة و ليس فقط الاحصائيات

في حالة ان الجدول بالشكل التالي

CREATE TABLE [dbo].[Employees](
	[EmployeeID] [int] NOT NULL,
	[EmployeeName] [nvarchar](50) NOT NULL,
	[ManagerID] [int] NOT NULL,
 CONSTRAINT [PK_Employees] PRIMARY KEY CLUSTERED 
(
	[EmployeeID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
ALTER TABLE [dbo].[Employees]  WITH CHECK ADD  CONSTRAINT [FK_Employees_Employees] FOREIGN KEY([ManagerID])
REFERENCES [dbo].[Employees] ([EmployeeID])
GO
ALTER TABLE [dbo].[Employees] CHECK CONSTRAINT [FK_Employees_Employees]

قم باضافة بعض السجلات

ثم جرب الاستعلام التالي

SELECT EmployeeID, EmployeeName, (Select EmployeeName from Employees as SubEmp where SubEmp.EmployeeID = Emp.ManagerID) as Manager
FROM Employees as Emp
ORDER BY ManagerID
COMPUTE COUNT(EmployeeID) BY ManagerID;

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