PDA

View Full Version : عملیات join و جستجو به صورت همزمان



vbiman
چهارشنبه 25 خرداد 1390, 16:30 عصر
با سلام
من یک بانک اطلاعاتی با جداولی به صورت زیر دارم :
جدول Tel

http://up.iranblog.com/images/lsaq01vr29erjjytlvbn.png
جدول Person

http://up.iranblog.com/images/e7ahqb0vuit0plvuxstf.png
می خوام از طریق فیلد ID این دو جدول با هم join بشن و عملیات جستجو در این جدول به هم پیوند خورده انجام بشه در ضمن من می خوام عبارت جستجو رو از ورودی (داخل برنامه c#) بگیرم . ورودیشم یک عدد هست که همون ID یه . (درStored Procedure می خوام استفاده کنم) :چشمک:

Galawij
چهارشنبه 25 خرداد 1390, 16:53 عصر
سلام
شما که تو هیچ کدوم از جداولتون کلید خارجی ندارید؟

vbiman
چهارشنبه 25 خرداد 1390, 17:00 عصر
سلام
شما که تو هیچ کدوم از جداولتون کلید خارجی ندارید؟
من دو تا جدول را Relationshipe کردم ، حالا راه حل شما چیه؟:متفکر:

علی رسولیان
پنج شنبه 26 خرداد 1390, 01:29 صبح
سلام

طبق گفته دوستمون کلید خارجی توی هیچکدوم از از جداولت نمیبینم،
یه فیلد توی جدول TEL درست کن از نوع int و این فیلد رو به فیلد ID جدول Person وصل کن، میتونی برای راحتی کار از Database Diagrams استفاده کنی.

موفق باشی

mjShojaei
پنج شنبه 26 خرداد 1390, 10:55 صبح
سلام
من پیشنهاد می کنم که در جدول Tel به جای ID بنویسید. IDtel و بعد در جدول person در فیلد جدید با نام IDtel ایجاد کنید (نیازی هم نیست کلید باشه) بعد این فیلد رو به فیلد هم نامش در جدول Tel وصل کن . یک کلید خارجی خوب بهت می ده.
که برای JOIN کردن هم خیلی بهت کمک می کنه.
برای نوشتن SP هم اگه خواستی با تعریف یک متغییر و یک دستور select می تونی جستجو رو انجام بدی

Galawij
پنج شنبه 26 خرداد 1390, 13:05 عصر
سلام
سه تا جدول ایجاد کنید به این صورت:


جدول انواع شماره تماس(کد نوع تماس و نام نوع تماس) مانند: تلفن ثابت، همراه، نمابر و ...
جدول اشخاص(کد شخص، نام، نام خانوادگی و سایر مشخصات)
جدول شماره های تماس اشخاص(کد شماره تماس، کد نوع تماس، کد شخص، شماره تماس)

فیلدهایی که با قرمز مشخص شده کلیدهای خارجی هستند.فیلدهایی که با زیر خط مشخص شده اند کلیدهای اصلی هستند.