PDA

View Full Version : افزودن یک عدد به اعداد یک فیلد از جدولی بر اساس یشترین مقدار یک فیلد از جدول دیگر



hamid-nice
جمعه 24 آبان 1392, 18:41 عصر
با سلام
دو جدول کاملا مشابه از لحلظ ساختاری دارم که یکی از آنها دارای فیلدی است ( b ) که اعدادی دارد که تکرارشده اند ولی نه لزوما مرتب
حالا می خوام راهی داشته باشم تا با اجرای آن بیاد بیشترین مقدار آنرا از این جدول اولی (Table1) پیدا کنه و در جدول دوم شروع کنه به شماره گذاری به طوری که کمترین مقدار در فیلد b در جدول دوم بشه یکی بیشتر از همون بیشترین مقداری که از فیلدb از جدول اول پیدا کرده بود و همه اعداد مشابه یکسان تغییر کنند یعنی اگر مثلا بیشترین مقدار فیلد b در جدول اول 13 باشه و در جدول دوم کمتربن مقدار فیلد b عدد 5 باشه و از 5 فرضا 8 تا وجود داشته باشه همه اینها بشن عدد 14و بقیه اعداد از 14 به بعد شوند ولی هر تعداد از یک عدد بود همه یکسان تغییر کنند
تا آخرین رکورد
امیدوارم کسی بتواند راهکاری ارايه نماید
یک نمونه از جداول را ضمیمه کردم تا دوستان راحتتر آنرا اصلاح فرمایند
با تشکر

alirezabahrami
جمعه 24 آبان 1392, 18:55 عصر
با سلام
دو جدول کاملا مشابه از لحلظ ساختاری دارم که یکی حاوی از آنها دارای فیلدی است ( b ) که اعدادی دارد که تکرارشده اند ولی نه لزوما مرتب
حالا می خوام راهی داشته باشم تا با اجرای آن بیاد بیشترین مقدار آنرا پیدا کنه و در جدول دوم به همه اعداد یک عدد اضافه کنه یعنی همه رکوردهایی که در جدول دوم ، این فیلد براشون عدد 5 هست به 6 تغییر کنند و همه اونهایی که مثلا 8 هستند به 9 تغییر کنند تا آخرین رکورد

یک نمونه از جداول را ضمیمه کردم تا دوستان راحتتر آنرا اصلاح فرمایند
با تشکر

سلام
من که متوجه منظورتان نشدم؛ بیشترین مقدار جدول یک 10 است . حالا چه نسبت و رابطه ای باید بین این مقدار و اضافه شدن یک به هرکدام ازمقادیر جدول دو وجود داشته باشد؟
لطفاً بیشتر و واضح تر توضیح بده
یا علی

hamid-nice
جمعه 24 آبان 1392, 19:16 عصر
با سلام و تشکر از توجهتان
دوست گرامی خدمتتان عرض کنم که بیشترین مقدار جدول اول در فایل ضمیمه 10 هست و اعداد فیلد b در این مثال در جدول دوم از 1 شروع شده اند
حالا می خوام تمام اعداد فیلد b در جدول 2 که از 1 شروع شدند از 11 شروع شوند یعنی همه اعداد 1 بشن 11 و عدد بعدی در جدول دوم که 3 هست بشه 12و عدد بعدی که 5 هست بشه 13 و عدد بعدی که 7 است و چند بار تکرار شده همشون بشن 14 و الی آخر
درصورت نیاز به توضیح بیشتر بفرمایید تا عرض کنم
با تشکر

alirezabahrami
شنبه 25 آبان 1392, 18:52 عصر
با سلام و تشکر از توجهتان
دوست گرامی خدمتتان عرض کنم که بیشترین مقدار جدول اول در فایل ضمیمه 10 هست و اعداد فیلد b در این مثال در جدول دوم از 1 شروع شده اند
حالا می خوام تمام اعداد فیلد b در جدول 2 که از 1 شروع شدند از 11 شروع شوند یعنی همه اعداد 1 بشن 11 و عدد بعدی در جدول دوم که 3 هست بشه 12و عدد بعدی که 5 هست بشه 13 و عدد بعدی که 7 است و چند بار تکرار شده همشون بشن 14 و الی آخر
درصورت نیاز به توضیح بیشتر بفرمایید تا عرض کنم
با تشکر
سلام
اگر اعداد ستون b متوالی بود خیلی راحت خواسته شما عملی میشد ، اما از آنجائیکه اعداد این ستون متوالی نیستند ناچاراً باید برای جدول فوق یک فیلد ردیف ایجاد نمود که اعداد این ردیف متناسب با اعداد ستون b افزایش یابد . به عبارتی اگر اعداد ستون b تکراری بود عدد ردیف مربوطه نیز تکراری شود و ایجاد چنین ردیفی در زمان ثبت و ورود اطلاعات انجام پذیر است . لذا من بطور دستی در جدول فوق یک فیلد ردیف با مشخصه فوق ایجاد نمودم و خواسته شما را در Query1 عملی نمودم .
نمونه را ملاحظه بفرما!

hamid-nice
شنبه 25 آبان 1392, 19:55 عصر
با سلام و تشکر
جناب بهرامی دستتون درد نکنه خیلی خوب بود
ولی از آنجا که نمی تونم به کاربر بگم که هر رکوردی ایجاد می کنی یک شماره گذاری ترتیبی هم در فیلد مقابلش انجام بده چون اونوقت فلسفه شماره گذاری اتوماتیک در برنامه ام بی فایده خواهد بود لذا امکان این مساله وجود دارد که فیلد ID خودکار صورت گیرد ؟ یا راه دیگری ؟
با تشکر

alirezabahrami
یک شنبه 26 آبان 1392, 18:24 عصر
با سلام و تشکر
جناب بهرامی دستتون درد نکنه خیلی خوب بود
ولی از آنجا که نمی تونم به کاربر بگم که هر رکوردی ایجاد می کنی یک شماره گذاری ترتیبی هم در فیلد مقابلش انجام بده چون اونوقت فلسفه شماره گذاری اتوماتیک در برنامه ام بی فایده خواهد بود لذا امکان این مساله وجود دارد که فیلد ID خودکار صورت گیرد ؟ یا راه دیگری ؟
با تشکر
سلام
دو ساعتی وقتم گرفته شد تا راه های مختلف را تست کنم ،ولی بالاخره موفق شدم.
نمونه جدید را ملاحظه بفرما!
یا علی

hamid-nice
دوشنبه 27 آبان 1392, 11:41 صبح
سلام
دو ساعتی وقتم گرفته شد تا راه های مختلف را تست کنم ،ولی بالاخره موفق شدم.
نمونه جدید را ملاحظه بفرما!
یا علی
با سلام
این کار از عهده هرکس برنمی آمد به همین دلیل در پست اول نوشتم که امیدوارم ....
لذا اساتیدی چون شما را می طلبید
از اینکه دو ساعت زمان گرفته شرمنده نمودید چرا که برای یک حرفه ای یکد قیقه هم بسیار ارزشمند است چه برسه به دو ساعت که ما ارزشش را درک می کنیم و این سایت با حضور افرادی چون شما به بقای خود امید وار هست
گاهی در پستها می خواهیم هزار بار تشکر کنیم اما چه کنیم که متاسفانه فقط یکبار می شود دگمه تشکر را زد
با روشی که شما ارایه نمودید حتی می شه فیلد را در جدول سومی به همراه فقط فیلد b از جدول 2 در آن (با append کردن ) قرار داد و برای جداول لینکی هم از آن به صورت ارزنده ای استفاده نمود (البته اگر ساخت این فیلد در یک جدول مجازی در بین دستورات انجام میشد که خیلی بهتر بود و همچنین اگر در ادمه آن بشود مقادر فیلد Z ساخته شده را جایگزین مقادیر متناظر b نمود بسیار بهتر است چرا که هدف از ابتدا رسیدن به این مورد بوده است لذا در صورت امکان ممنون می شم که فایل را با این تغییرات ضمیمه فرمایید
با تشکر فراوان

کارتان عالی بود و بسیار بسیار متشکرم