جمع مقادیر و نمایش خروجی به صورت GROUP BY در SQL Server
باسلام و احترام خدمت شما سروران گرامی ، من سه جدول به نامهای Info و T و M دارم که در جدول Info که (ID کلید اصلی می باشد) مشخصات افراد وجود دارد. در جدول T که (Cod کلید اصلی می باشد) مدت زمان کلاسهای برگزار شده نشان می دهد و در جدول M که (SN کلید اصلی و ID و Cod کلید خارجی می باشد) نشان می هد که هر فرد در چه کلاسهایی حضور داشته است. حالا من می خواهم در خروجی نشان دهد که هر فرد در مجموع چه مدت زمانی را در کلاس ها حضور داشته است.مثلا سه جدول Info و T و M را به صورت زیر داریم.
حالا می خواهم خروجی به صورت زیر نمایش داده شود و نشان دهد که هر فرد در مجموع چه مدت زمانی را در کلاس ها حضور داشته است
باتشکر از شما
3 پاسخ
سلام به خاطر این که توضیح ندادید هرکدام از فیلد ها چه مفهومی دارد و کدام یک از آنها کلید خارجی است نمی توانم کامل راه حل را بگویم. اما برای کمک باید شما سه جدول را باهم جوین کنید و بعد از آن جمع زمان ها را جمع کنید به شکل زیر
SELECT Name,SUM(Number) FROM info INNER JOIN M ON info.ID=M.ID INNER JOIN T ON M.Cod=T.Cod GROUP BY Name
قبل از خطی که group by زده اید با استفاده از where شرط خود را بنویسید.
باسلام دوست عزیزم
یک سوال دارم، اگر در دستور فوق نیز بخوام یک شرط را اعمال کنم مثلا در جدول T میزان مقادیر فیلد Number بیشتر از 50 باشد را در خروجی نمایش دهد.