PDA

View Full Version : متصل کردن 3 جدول به هم با join



imohammad
یک شنبه 05 بهمن 1393, 09:20 صبح
سلام
تو دیتابیسم سه تا جدول دارم: users, users_links, links
در اصل جدول users_links نقشش ایجاد ارتباط بین users و links ـه، به این صورت که فیلد user_id رو از id موجود در users میگیره و فیلد link_id رو از id جدول links میگیره
چطوری میشه بین این 3 تا یه ارتباط join برقرار کرد که مثلا لینک های کاربر رو نشون بده؟

imohammad
یک شنبه 05 بهمن 1393, 21:24 عصر
کسی راه حلی نداره؟

Mohammadsgh
دوشنبه 06 بهمن 1393, 11:47 صبح
میتونی از foreign key (کلید خارجی) استفاده کنی

imohammad
دوشنبه 06 بهمن 1393, 16:43 عصر
چجوریه؟
میشه یه مثال بزنی؟

hamedarian2009
دوشنبه 06 بهمن 1393, 18:04 عصر
دقیق تر توضیح بده الان تو ارتباط دادن مشکل داری یا کوئری زدنش؟
از پست اولت برمیاد که سه تا جدول داری که بهم ارتباط دادی همون پیاده سازی ارتباط چند به چند و کلید خارجی هم تعریف کردی که لازمه ارتباط دادنه ولی تو پست شماره 4 دوباره میپرسی کلید خارجی چیه و ارتباط چیه

Mohammadsgh
دوشنبه 06 بهمن 1393, 18:44 عصر
ببینید این جدول هاتون نشون میده که پیوند بین جدول های شما چند به چند هست.یه جدول برای پیوند بین دو جدول میسازید و جدول سوم نقش پیوند بین دو تا جدول دیگه رو بازی میکنه.هر جاش مشکل داشتید بگید تا توضیح بدم؟

imohammad
دوشنبه 06 بهمن 1393, 21:22 عصر
مشکل اینه چجوری کوئری بزنم که لینکای هر کاربر رو نشون بده
کوئری ساده میتونم بزنم ولی میخوام با join باشه

Mohammadsgh
دوشنبه 06 بهمن 1393, 22:27 عصر
اگه با کلید خارجی باشه کویری خاصی نمیخواد بزنید.ولی performance ,join(کارایی)بیشتره.اگه هر جا مشکل داشتید بگید؟

hamedarian2009
دوشنبه 06 بهمن 1393, 22:44 عصر
این لینکو نگاه کن
http://www.phpknowhow.com/mysql/many-to-many-relationships/