behzadkhan
شنبه 07 شهریور 1394, 14:51 عصر
با سلام
و عرض خسته نباشید
در بعضی برنامه ها مانند: نرم افزار حضور و غیاب لازم هست که گزارش هایی بگیریم که در آن تمامی روز ها بین دو تاریخ را نشان دهد.
مثلا گزارش کارکرد ماهیانه برای پرسنل انتخاب شده.
فرضا برای برج شهریور سال 94.
این برج 31 روز هست بنابراین گزارش ما باید 31 ردیف و یا سطر داشته باشد.
جدول هم شامل چهار ستون باشد.
تاریخ، نام روز هفته، میزان کارکرد به ساعت
علی، داودی
ردیف
تاریخ
نام روز هفته
مدت کارکرد
وضعیت
1
94/06/01
شنبه
08:00
عادی
2
94/06/02
یک شنبه
00:00
تعطیل رسمی
3
94/06/03
دو شنبه
08:02
عادی
4
94/06/04
سه شنبه
08:10
عادی
5
94/06/05
چهار شنبه
07:55
عادی
6
94/06/06
پنج شنبه
07:45
عادی
7
94/06/07
جمعه
00:00
تعطیل رسمی
8
94/06/08
شنبه
08:00
عادی
9
94/06/09
یک شنبه
00:00
غیبت
جدول بالا باید 31 ردیف داشته باشد که ما 9 ردیف آن را برای تفهیم موضوع رسم کردیم.
الان در جدول بالا برای آن روز هایی که وضعیت "عادی" هست رکوردی در پایگاه داده ها وجود دارد.
ولی
اگر وضعیت "تعطیل رسمی" باشد هیچ رکوردی برای آن در پایگاه داده ها وجود ندارد.
من در حال حاضر وقتی کوئری این جدول را می زنم نتیجه به شکل زیر هست
ردیف
تاریخ
نام روز هفته
مدت کارکرد
وضعیت
1
94/06/01
شنبه
08:00
عادی
2
94/06/03
دو شنبه
08:02
عادی
3
94/06/04
سه شنبه
08:10
عادی
4
94/06/05
چهار شنبه
07:55
عادی
5
94/06/06
پنج شنبه
07:45
عادی
6
94/06/08
شنبه
08:00
عادی
7
94/06/09
یک شنبه
00:00
غیبت
الان روز های تعطیل را ندارد چون رکوردی برای آن در پایگاه داده های نیست.
و من هم نمی خواهم برای روز های تعطیل یک رکورد در پایگاه داده ها ذخیره کنم.
================================================== ==============
من می خواهم یک روشی به من پیشنهاد کنید که در آن وقتی کوئری را بر اساس تاریخ شمسی می گیرم. تمام روز ها بین دو تاریخ را به من بدهد. یعنی اگر برای برج شریور من در پایگاه داده مثلا 25 رکورد دارم در خروجی به من 31
رکورد بدهد در واقع آن هایی که وجود ندارند را به عنوان روز تعطیل در نظر بگیرند.
================================================== =============
اگر منظورم را درست متوجه نشدید بگویید تا بیشتر توضیح بدهم.
================================================== =======
با تشکر
و عرض خسته نباشید
در بعضی برنامه ها مانند: نرم افزار حضور و غیاب لازم هست که گزارش هایی بگیریم که در آن تمامی روز ها بین دو تاریخ را نشان دهد.
مثلا گزارش کارکرد ماهیانه برای پرسنل انتخاب شده.
فرضا برای برج شهریور سال 94.
این برج 31 روز هست بنابراین گزارش ما باید 31 ردیف و یا سطر داشته باشد.
جدول هم شامل چهار ستون باشد.
تاریخ، نام روز هفته، میزان کارکرد به ساعت
علی، داودی
ردیف
تاریخ
نام روز هفته
مدت کارکرد
وضعیت
1
94/06/01
شنبه
08:00
عادی
2
94/06/02
یک شنبه
00:00
تعطیل رسمی
3
94/06/03
دو شنبه
08:02
عادی
4
94/06/04
سه شنبه
08:10
عادی
5
94/06/05
چهار شنبه
07:55
عادی
6
94/06/06
پنج شنبه
07:45
عادی
7
94/06/07
جمعه
00:00
تعطیل رسمی
8
94/06/08
شنبه
08:00
عادی
9
94/06/09
یک شنبه
00:00
غیبت
جدول بالا باید 31 ردیف داشته باشد که ما 9 ردیف آن را برای تفهیم موضوع رسم کردیم.
الان در جدول بالا برای آن روز هایی که وضعیت "عادی" هست رکوردی در پایگاه داده ها وجود دارد.
ولی
اگر وضعیت "تعطیل رسمی" باشد هیچ رکوردی برای آن در پایگاه داده ها وجود ندارد.
من در حال حاضر وقتی کوئری این جدول را می زنم نتیجه به شکل زیر هست
ردیف
تاریخ
نام روز هفته
مدت کارکرد
وضعیت
1
94/06/01
شنبه
08:00
عادی
2
94/06/03
دو شنبه
08:02
عادی
3
94/06/04
سه شنبه
08:10
عادی
4
94/06/05
چهار شنبه
07:55
عادی
5
94/06/06
پنج شنبه
07:45
عادی
6
94/06/08
شنبه
08:00
عادی
7
94/06/09
یک شنبه
00:00
غیبت
الان روز های تعطیل را ندارد چون رکوردی برای آن در پایگاه داده های نیست.
و من هم نمی خواهم برای روز های تعطیل یک رکورد در پایگاه داده ها ذخیره کنم.
================================================== ==============
من می خواهم یک روشی به من پیشنهاد کنید که در آن وقتی کوئری را بر اساس تاریخ شمسی می گیرم. تمام روز ها بین دو تاریخ را به من بدهد. یعنی اگر برای برج شریور من در پایگاه داده مثلا 25 رکورد دارم در خروجی به من 31
رکورد بدهد در واقع آن هایی که وجود ندارند را به عنوان روز تعطیل در نظر بگیرند.
================================================== =============
اگر منظورم را درست متوجه نشدید بگویید تا بیشتر توضیح بدهم.
================================================== =======
با تشکر