ورود

View Full Version : مشکل در گزارش گیری از لیست بدهکاران



veniz2008
دوشنبه 10 مهر 1391, 18:39 عصر
سلام دوستان. میخوام که در برنامم لیست بدهکاران هر آزمون رو براساس نوع آزمون پیاده سازی کنم. فرمولی رو که برای اینکار در نظر گرفتم بصورت زیر هست :

bedehi davtalab > tedad azmonhaye baghimande davtalab * (mablaghe azmoon * (100- darsade takhfif))
بدهی داوطلب هم بصورت زیر محاسبه میشه :

bedehi davtalab = mablaghe kole azmonha(bar hasbe noe azmoon va bedone ehtesabe sahmiye(tarh) ) - (mablaghe takhfife sahmiye + pishpardakht + majmoe aghsate pardakht shode)
چند تا نکته رو هم بگم : اول اینکه تعداد آزمون های یک داوطلب با داوطلب دیگه میتونه متفاوت باشه. مثلا برای آزمون شماره6 داوطلب1 ممکنه آزمون 2 و 3 و 4 رو انتخاب کرده باشه و داوطلب2 مثلا آزمون های 1و5 رو انتخاب کرده باشه یعنی اجباری به انتخاب همه آزمون ها برای یک داوطلب وجود نداره.
نکته دوم اینکه این گزارش گیری فقط براساس نوع آزمون باید فیلتر بشه. منظور از نوع آزمون مثلا پیشرفت تحصیلی یا تیزهوشان و ... هستش. یعنی مثلا گزارش بدهکاران آزمون تیزهوشان رو بهم بده. محاسبه بدهکاری یک شخص خاص رو میتونم انجام بدم ولی زمانیکه قراره برای تمام دانش آموزان گزارش گیری کنم نمیدونم که چطوری باید این کار رو انجام بدم. در پایین چندتا عکس از جدول هام و یک کوئری که نوشتم تا برخی از اطلاعات مورد نیاز رو بیرون بکشم قرار دادم. ممنون میشم دوستان راهنمایی کنند.

Arash_janusV3
دوشنبه 10 مهر 1391, 20:04 عصر
منظورت بدهکاران چی هستش؟
توضیحاتتون شفاف نیست
دقیقا چه کاری می خواهید انجام بدید؟

veniz2008
دوشنبه 10 مهر 1391, 20:14 عصر
من باید برای هر آزمون لیست دانش آموزان بدهکار رو مشخص کنم. داوطلبی میتونه در آزمون شرکت کنه که حداقل تا این آزمون شهریه اش رو پرداخت کرده باشه. بذارید مثال بزنم. فرض کنید داوطلب کلا 10 تا آزمون داره و مبلغ هر آزمون رو هم 10 هزار تومان بگیرید و سهمیه داوطلب هم مثلا طرح فرهنگیان با 25 درصد تخفیف باشه. یعنی این شخص الان باید 75 هزار تومان پرداخت کنه و قیمت آزمونش هم 7500 تومان خواهد بود (چون شامل 25 درصد تخفیف میشه). حالا فرض کنید این شخص 20 هزار تومان پیش پرداخت میپردازه ( یعنی الان 55 هزار تومان بدهکاره). با این 20 هزار تومان طبق فرمولی که در پست 1 گذاشتم میتونه 2 آزمون اولش رو شرکت کنه ولی برای آزمون های بعدی دوباره باید هزینه لازم رو پرداخت کنه.

Arash_janusV3
دوشنبه 10 مهر 1391, 20:26 عصر
بدون در نظر گرفتن عکسها
بگید برای فقط دو فیلد مبلغ آزمون و مبلغ دریافتی از دانش آموز چه کردید؟

veniz2008
دوشنبه 10 مهر 1391, 23:44 عصر
دوستان من برای محاسبه بدهی داوطلب از کد زیر استفاده میکنم. تابع sum اش یه مشکل داره. در صورتی که رکوردی رو با شرایطی که تعیین کردم پیدا نکنه null برمیگردونه. آیا راهی هست که در صورت وجود نداشتن اون شرط به جای Null مقدار صفر برگردونه؟. اینم کدی که نوشتم :

select A1.StudentID,TotalPrice-PrePayment-(select SUM(PriceGhest) from TblGhest
where TblGhest.StudentID = A1.StudentID and StatusGhest = 1 and YearExam = 1391
and TblGhest.TypeExamID = 1)from TblStudent as A1 inner join TblMali
on A1.StudentID = TblMali.StudentID where PrePayment < TotalPrice and TblMali.TypeExamID = 1

Nima_kyan
سه شنبه 11 مهر 1391, 08:19 صبح
سلام
محمد جان از این کد استفاده کن

select ISNULL(sum(Nomre),0)from Tbl_Nomre where azmoon=3

veniz2008
سه شنبه 11 مهر 1391, 10:07 صبح
من الان با کد زیر تمامی مقادیر لازم برای پیاده سازی لیست بدهکاران هر آزمون در اختیار دارم. فقط هر طوری که کد رو خواستم بصورت فرمول زیر در بیارم خطا میده( در واقع فرمول زیر نتیجه نهایی رو میده و لیست بدهکاران رو مشخص میکنه)

bedehi davtalab > tedad azmonhaye baghimande davtalab * (mablaghe azmoon * (100- darsade takhfif))