پاسخ به:آموزش گام به گام SQL Server
پنج شنبه 30 تیر 1390 11:36 AM
یک SP جهت استفاده در خروجی مدیریتی ذیل طراحی نمائید.
واحد سازمانی تعداد کارکنان تعداد تحت تکفل
همانطور که از ظاهر جدول مشاهده می گردد به دو روش گزارش مذکور قابل وصول است.
جدول اصلی جدول Unit و جداول ارتباطی Child , Person خواهند بود بنابراین خواهیم داشت :
Create Proc MIS1 AS
Select UnitName ,
(Select Count () From Person Where UnitID = U.UnitID )As PCnt ,
(Select Count () From Child Where
(Select UnitID From Person Where PrsID=Child.PrsID)=U.UnitID)As TCnt,
From Unit As U
Order By UnitName
جدول اصلیPerson و جدول ارتباطیChild ,Unit خواهند بود بنابراین خواهیم داشت:
Create Proc MIS2 AS
Select (Select UnitName Form Unit Where UnitID = P1.UnitID)As UnitName,
Count () As PCnt,
(Select Count() From Child Where (Select UnitID From Person P2 Where PrsID
= Child.PrsID ) = P1.UnitID ) As TCnt
From Person P1
Group By UnitID
Order By 1
اختلاف اطلاعات نمایش داده شده در دو روش اول و دوم را تشریح نمائید.
یکSP طراحی کنید که فهرست کارکنانی را که بین 3 تا 6 تحت تکفل دارند را استخراج نماید.
به منظور سهولت در طراحی جدول Person را بعنوان جدول اصلی در نظر می گیریم بنابراین خواهیم داشت :
Create Proc MySP1 AS
Select P.,
(Select Count() From Child C Where PrsID = P.PrsID )As Cnt
From Person As P
Where (Select Count () From Child Where PrsID= P.PrsID) BetWeen 3 and 6
Order By PrsID
ادامه مثالها در پست بعدی ...
منتظر ما باشید
مو فق باشید