PDA

View Full Version : صرف نظر کردن از چاپ بیشتر از n رکورد



akbar4028
دوشنبه 08 تیر 1394, 00:05 صبح
سلام دوستان آیا راهی هست که به ریپورت بگیم در صورتی که رکورد هاش بیشتر از n رکورد شد از چاپ الباقی اون صرف نظر کنه. ضمنا از یه فیلد به صورت Over Group استفاده کردم می خوام در مورد همه گروهها به صورت گروهی این رفتار رو داشته باشه یعنی از گروه اول اگه بشتر از 20 رکورد شد از الباقی صرف نظر کنه و از گروه دوم و .... هم همینطور در ضمن نمی خوام ادامه گروه دوم رو صفحه بعد چاپ کنه بلکه ادامه گروه اول باشه.اگه اینطوری نشد حداقل بگیم در صورتی که بیشتر از n رکورد شد فقط صفحه اول هر گروه رو چاپ کنه.متشکرم:متفکر::متفکر:

akbar4028
پنج شنبه 11 تیر 1394, 19:11 عصر
سلام با توجه به اهمیت موضوع لطفا یه استاد پاسخ بده ممنون میشم

New Account
پنج شنبه 11 تیر 1394, 22:10 عصر
سلام akbar4028 (http://barnamenevis.org/member.php?342841-akbar4028)

فرق این سئوالی که اینجا درج کردید با این سوالی که قبلا در اینجا پرسیدید (http://barnamenevis.org/showthread.php?499167-%D8%B4%D9%85%D8%B1%D8%AF%D9%86-%D9%81%DB%8C%D9%84%D8%AF-%D8%A8%D8%A7-%D8%B4%D8%B1%D8%A7%DB%8C%D8%B7-%D8%AE%D8%A7%D8%B5-%D8%B6%D9%85%D9%86%D8%A7-%D9%87%D8%B1%DA%86%DB%8C-%D8%B3%D8%B1%DA%86-%DA%A9%D8%B1%D8%AF%D9%85-%DA%86%DB%8C%D8%B2%DB%8C-%D9%BE%DB%8C%D8%AF%D8%A7-%D9%86%DA%A9%D8%B1%D8%AF%D9%85)چیه ؟

به جهت راهنمایی و کمک احتمالی در حل هر دو سئوال , ما مبحثی داریم به اسم Sub Query , در این رابطه تحقیق کنید

موفق باشید

akbar4028
جمعه 12 تیر 1394, 19:26 عصر
سلام نتیجه آن در چاپ گزارش نهایی هیچ فرقی نداره جناب شاگرد آرام که در سوال قبلی جواب داده بودند حس کردم سوال من جواب رو پیچیده کرده . برای همین دنبال حداقل سوال ساده تر گشتم تا جواب ساده تر بگیرم و در نهایت باچند خط کد نویسی به مشکلم پایان داده ضمنا با تشکر از دقت نظر شما جواب شما در بالا نشان می ده اگر سوال قبلی بنده جواب داشت حتما این کار رو می کردید.حالا می شه بفرمایید Sub Query چیه چطوری از سوال قبلیم با Sub Query جواب بگیرم در صورتی که امکانپذیر است راهنمایی بفرمایید یا اینکه برم دنبال کد نویسی تو محیط گزارش و به ننتیجه برسم هرکدوم به نظر شما بهتره بفرمایید.متاسفانه تحقیقات بنده هم راه به جایی نبرد لطفا کمک:گریه:

akbar4028
چهارشنبه 17 تیر 1394, 08:50 صبح
سلام دوستان لطفا یک نفر جواب مناسب بده خیلی وقته این پست رو گذاشتم

M_Man_M
چهارشنبه 17 تیر 1394, 14:28 عصر
با سلام
به تصوير زير توجه کنيد :
133018
اگه به جاي All همون عدد مورد نظرتون ، يعني n رو وارد کنيد، تنها n رکورد اول براي شما برگشت داده خواهد شد. براي مثال اگر در اين کوئري عدد 5 رو وارد کنيد، تنها پنج رکورد اول براي شما آورده خواهد شد.
توجه داشته باشيد که اين عدد مربوط به n رکورد اول است؛ پس اگه ميخواهيد اين n رکورد از انتها باشد، کافيه که با Ordering دلخواه، ابتدا نتايج رو طوري تنظيم کنيد که رکوردهاي مورد نظرتون در ابتداي رکوردها بياد و سپس مقدار n رو مشخص کنيد.
معادل اين تنظيم در محيط کد نويسي هم ، کليدواژه ي TOP است. براي مثال داريم :
SELECT TOP 5 FROM TableName
موفق باشيد

akbar4028
چهارشنبه 17 تیر 1394, 17:29 عصر
دوست گرامی سلام در اول پست نوشتم(از یه فیلد به صورت Over Group استفاده کردم می خوام در مورد همه گروهها به صورت گروهی این رفتار رو داشته باشه یعنی از گروه اول اگه بشتر از 20 رکورد شد از الباقی صرف نظر کنه و از گروه دوم و .... هم همینطور در ضمن نمی خوام ادامه گروه دوم رو صفحه بعد چاپ کنه بلکه ادامه گروه اول باشه.اگه اینطوری نشد حداقل بگیم در صورتی که بیشتر از n رکورد شد فقط صفحه اول هر گروه رو چاپ کنه.) همانطور که می بینید با این دستوری که شما گذاشتید فقط 5 تای اول انتخاب میشه ولی بنده در مورد هر گروه 5 تای اول رو لازم دارم باتشکر لطفا در صورت وجود جواب یک نمونه معرفی کنید

شاگرد آرام
چهارشنبه 17 تیر 1394, 23:47 عصر
دوست عزیز با توجه به اینکه جدول شما فیلد ID رو نداره انجام اینکار مشکله مثل همون راه حلی که بهتون گفتم