|
باسلام خدمت اساتید
میخواستم راهنمایی کنید چطور میشه مثلاًً مقدار پیش فرض فیلد فی فروش در جدول فرزند از جدول والد و فیلد فی فروش انتخاب بشه البته به شرط برابری کد کالا مثلاً اگر قیمت فی در لیست کالاها در جدول والد برای کد کالای 21 باشه 50000 ریال مقدار پیش فرض فی در جدول فرزند با کد کالای 21 بشه 50000 ریال
امیدوارم سوالم واضح بوده باشه ممنونم
با سلام
من دقیقا متوجه سوال شما نشدم و اینکه سناریوی شما دقیقا چی هستش. ولی این امکان وجود داره که به متا دیتا های مربوط به جدولتون از طریق sql دست پیدا کنید. مثلا اگر با mysql کار می کنید می تونید از طریق پرس و جوی زیر اینکار رو انجام بدید :
SELECT DEFAULT( columnName ) FROM tableName LIMIT 1
برای پیشنهاد دادن به کاربر این کار رو می شه انجام داد. اگر سناریوتون چیز دیگری هستش بفرمایید تا با همفکری هم راهی براش پیدا کنیم.
از اینکه وقت گذاشتید تا منو راهنمایی کنید ممنونم فکر کنم منظورم رو خیلی ساده گفتم یه جدول داریم مشخصات کالا توشه که یه فیلد فی فروش داره که قیمت واحد کالاست یه جدول دیگه داریم که فاکتور فروشه و اونم یه فیلد فی داره که معمولاً مقدارش در ازا کالای مشخص همون فی فروش جدول کالاست ولی ((نه همیشه )) برای همین میخواهیم مقدار قید دیفالت به ازا هر فیلد برابر باشه با مقدار متناظر در جدول کالا که اگر نخواستیمش مقدار دلخواه خودمونو وارد کنیم. در ضمن کدی که گذاشتید تو اس کیو ال سرور هم جواب میده؟
سلام
کاری به این موضوع ندارم که احتمالا ساختار دیتا بیس نرمال سازی نشده. فقط مطلبی زو که خواستین آماده کردم...
من تو دیتا بیسم دو تا جدول دارم:
"Stuff" به معنای کالا و جدول والد هست
"Factor" به معنای فاکتور و همان فرزند هست
میخوام که قیمت جدول والد برای قیمت جدول فرزند هم ثبت بشه بشرطیکه کد کالا در هر دو یکی باشه.
این جدول والد (stuff)
اینم جدول فرزند (factor) با قیمتهای پیشفرض "صفر" برای همه
اینم ارتباط بین جداول
حالا با یه کوئری آپدیت، تمامی مقادیر صفر جدول رو تغییر میدم به قیمتهای ثبت شده در جدول والد:
update Factor
set Price = s.Price
from [Stuff] s
inner join Factor f
on f.StuffID = s.StuffID
where f.StuffID = s.StuffID
حالا نتیجه این آپدیت:
خب ، این همون چیزیه که میخواستیم. مقادیر قیمت جدول فرزند با توجه به مقادیر جدول والد آپدیت شد.
------------------------------------------------
اگر این پاسخ به مشکل شما کمک کرد ، لطفا بعنوان پاسخ تایید نمایید تا سایر دوستان هم بدون معطلی به این پاسخ دست یابند.تشکر
دوست خوبم از اینکه نظر دادید ممنونم و مطلبتون به دردم میخوره و در جای دیگه ازش استفاده میکنم ولی جواب سوال من نیست دقت بفرمایید من نمیخوام price جدول فاکتور رو از جدول والد وارد کنم چون با اصول نرمال سازی هم مغایره. بلکه فقط مقدار پیش فرض یا همون DEFAULT رو میخوام بر مبنای جدول والد در نظر گرفته بشه(به عنوان پیشنهاد به کاربرو دادن حق انتخاب چون فی فروش اصولاً ثابت نیست و به مشتری بستگی داره) . فکر میکنم اگه تو همین کدتون کمی دستکاری کنید و به DEFAULT مقدار دهی کنید بتونید بهم کمک کنید. به هر حال از راهنماییتون ممنونم. و حتماً ازش در جای دیگه استفاده میکنم