PDA

View Full Version : سوال: inner join چند تایی



afsoos4
سه شنبه 20 خرداد 1393, 18:23 عصر
سلام دوستان
یه سوال:
فرض کنید چند تا جدول دارید


جدول مطالب:کد مطلب-عنوان مطلب-کد نویسنده-کد زبان-و...
رکورد-> 100 تست 2 1
جدول نویسندگان:کد نویسنده-نام نویسنده
رکورد-> 1 امید

رکورد-> 2 علی

جدول زبان:کدزبان-نام زبان
رکورد-> 1 فارسی

رکورد-> 2 انگلیسی

جدول موضوعات:کد موضوع - عنوان موضوع
رکورد-> 1 ورزشی

رکورد-> 2 اجتماعی

جدول رابط مطلب و موضوع:کد موضوع-کد مطلب
رکورد-> 1 100

رکورد-> 2 100



حال sql می خوام که خروجی مثل زیر باشه
کد مطلب:100
عنوان مطلب : تست
نام نویسنده :علی
زبان:فارسی
موضوع:ورزشی-اجتماعی

us1234
سه شنبه 20 خرداد 1393, 20:55 عصر
کوئری اینجوری میشه : ولی تست نشده

select contents.id as cid , authors.name as aname , langs.name as lname ,(select group_concat(subjects.name,'-') from subjects where subjects.id = contents_subjects.id) as sub
from contents
join langs on langs.id = contents.langs_id
join authors on authors.id = contents.authors_id
join contents_subjects on contents_subjects.code = contents.id

ولی فکر کنم روش بهینه تر برای معماری این دیتابیس وجود داشته باشه که باید بررسی شود .