PDA

View Full Version : چطور میتوان کارنامه چند ترم یک دانشجو را طبق ترم هایش خروجی گرفت



abdulhossain
پنج شنبه 23 خرداد 1392, 11:12 صبح
من از ارتباط سه جدول کارنامه تحصیلی تهیه می کنم حالا می خواهم کارنامه هر ترم بصورت جدا جدا گروه بندی شود، ولی در دستور Group by مشکل دارم کسی می تواند در این زمینه رفع مشکل کند.پیشاپیش از همکاری و کمک تان متشکرم.
خودم این کد را نوشتم ولی خطا می دهد
select a.code,a.name,a.father,c.codterm,c.namedars,c.unit ,d.nomra from a,c,d
where a.code=d.code and c.codedars=d.codedars
group by d.codterm

ali_md110
دوشنبه 27 خرداد 1392, 20:29 عصر
سلام

دیاگرام سه جدولتون بزارید و مشخص کنید وظیفه و مشخصات جداولتون چیه ؟
این دستور شما نشون میده
جدول a جدول مشخصات دانش آموز هست
جدول c جدول انتخاب واحد هست
و جدول d مشخص نیست؟

abdulhossain
سه شنبه 28 خرداد 1392, 07:53 صبح
سلام

دیاگرام سه جدولتون بزارید و مشخص کنید وظیفه و مشخصات جداولتون چیه ؟
این دستور شما نشون میده
جدول a جدول مشخصات دانش آموز هست
جدول c جدول انتخاب واحد هست
و جدول d مشخص نیست؟
دوست عزیز جدول d جدولی است که در آن نمرات هر ترم وجود دارد ، و شامل کد دانشجو ، کد درس و نمره می باشد
105750

ali_md110
سه شنبه 28 خرداد 1392, 09:14 صبح
سلام
ببینید دوست من
جداولتون بهینه تر کنید و از Inner Join استفاده کنید بهتر جواب میگیرید
شما هم کد درس رو در جدولB دارید و هم در جدولD در صورتیکه فقط نیاز دارید درون جدول نمرات که به نظرم D هست باشه
دیاگرامی که ارسال کردم ببینیدش گویاتر هست
معمولا انتخاب واحد یک سربرگ داره و یک جزئیات
در جدول سربرگ فیلدهای :کد سال تحصیلی-کد ترم -کد دانش جو- و تاریخ ثبت نام در ترم و سایر فیلدهایی که فقط به همین جدول مربوطه مثل 'مشروط شده' و غیره قرار داره
در جدول چزئیات :کد درس- نمره- و تاریخ ثبت نمره و سایر فیلدهای مورد نیاز که مربوط به همین جدول باشه

abdulhossain
چهارشنبه 29 خرداد 1392, 11:05 صبح
دوست عزیز بسیار تشکر از همکاری تان
( جواب شما درست است از این طریق یک ویو درست می شود، ولی من می خواهم View بر اساس ترم گروه بندی شود تا در فست ریپورت برای کارنامه ترم ها را کنار هم گذاشته تا کارنامه تحصیلی بسیازم).
اصل سوال این است که اگر یک دانشجو هشت ترم را گذرانده باشد و بخواهیم هر ترمش را جدا جدا ولی کنار هم داشته باشیم یعنی از طریق فست ریپورت در یک صفحه برایش یک کارنامه تحصیلی درست کنیم باید به چه شکلی بعد از ارتباط جداول (join) آنها را بر اساس ترم گروه بندی کنیم تا در فست ریپورت بتوانیم کارنامه تحصیلی بسازیم. خودم اول یک View درست کردم و در فست ریپورت گزارش ساختم ولی بصورت ترم وار نمی توانم جدایشان کنم ، هر محصل کارنامه اش زیر هم می اید و معلوم نیست که کدام درسها مربوط کدام ترم می باشد.

ali_md110
چهارشنبه 29 خرداد 1392, 12:38 عصر
ببینید شما اگر در view یا پروسیجرتون ازGroup By در کوئریتون استفاده کنید مشکلتون تا قسمت کوئری حل میشه از این به بعد بر میگرده به قسمت گزارش گیری برنامتون

معمولا برنامه های گزارش گیری قسمتی داررند بنام Group که میاد گزارشات رو بر اساس یک فیلد خاص گروه بندی میکنه و با توجه به گروه بندی هاتون GroupHeader و GroupFooter رو درون صفحه گزارش ساز میسازه و هنگام چاپ به ازای هر دسته از گزارشهای گروه بندی شده یک رکورد با سرگروه خاص خود چاپ میکنه

من از کریستال ریپورت استفاده میکنم خیلی عالیه در ضمن همپنین پروژه ای قبلا با C#‎ و کریستال نوشتم و چاپ کارنامه با رتبه دانش آموزی انجام دادم