PDA

View Full Version : ترکیب سه جدول با یکدیگر با JOIN



amin_sltny
شنبه 02 فروردین 1393, 23:39 عصر
سلام دوستان من دارم یه سایت با php میسازم. من توی این سایت سه تا جدول دارم یکی مال پست هامه یکی ماله موضوعاتمه و یکی هم جدولیه که id موضوعات و پست ها را ذخیره می کنه. جدول سوم مال اینه که هر پست را به موضوعات مرتبط با خودش ربط بده.

اول می خواستم بدونم به نظرتون من به این روش عمل می کنم درست یا نه: من اومدم این سه تاجدول را با مقادیرشون به صورت LEFT JOIN با هم ترکیب کردم به صورت زیر:


select a.id,a.post_title,a.post_text,a.comments_status,a. post_password,a.comment_count,a.post_indeximage ,a.post_date,a.post_status,a.post_modificed,a.post _visit,c.cat_id,c.cat_title,d.us_name,d.us_display name from posts a LEFT join postcategory b ON a.id = b.post_id left JOIN category c ON b.cat_id = c.cat_id left join users d On a.post_author = d.us_name


حالا چند تا مشکل دارم اونم اینه که توی موضوعات اگه یه پستی چند موضوع داشته باشه فقط یکی از تون ها را نشون میده؟

میشه راهنماییم کنید باید چه کار کنم؟

ممنون

amin_sltny
یک شنبه 03 فروردین 1393, 09:27 صبح
سلام دوستان من دارم یه سایت با php میسازم. من توی این سایت سه تا جدول دارم یکی مال پست هامه یکی ماله موضوعاتمه و یکی هم جدولیه که id موضوعات و پست ها را ذخیره می کنه. جدول سوم مال اینه که هر پست را به موضوعات مرتبط با خودش ربط بده.

اول می خواستم بدونم به نظرتون من به این روش عمل می کنم درست یا نه: من اومدم این سه تاجدول را با مقادیرشون به صورت LEFT JOIN با هم ترکیب کردم به صورت زیر:


select a.id,a.post_title,a.post_text,a.comments_status,a. post_password,a.comment_count,a.post_indeximage ,a.post_date,a.post_status,a.post_modificed,a.post _visit,c.cat_id,c.cat_title,d.us_name,d.us_display name from posts a LEFT join postcategory b ON a.id = b.post_id left JOIN category c ON b.cat_id = c.cat_id left join users d On a.post_author = d.us_name


حالا چند تا مشکل دارم اونم اینه که توی موضوعات اگه یه پستی چند موضوع داشته باشه فقط یکی از تون ها را نشون میده؟

میشه راهنماییم کنید باید چه کار کنم؟

ممنون

کسی نیست کمک کنه

***BiDaK***
یک شنبه 03 فروردین 1393, 09:56 صبح
جدول سوم نیازی نیست.با دو جدول میتونی کاری که میخوای رو انجام بدی.در جدول پست هات یک فیلد به نام cat_id بگذار که آیدی مربوط به موضوع (از جدول موضوعات) در اون جا بگیره.
زمانی که میخوای صفحه ای با موضوع خاص پست هاش نمایش داده بشه کافیه اون موضوعاتی که مثلا cat_id برابر 1 هست نمایش داده بشه.