ورود

View Full Version : ایجاد پیوند بین چند جدول مرتبط با JOIN



arashjoon
چهارشنبه 28 اردیبهشت 1390, 16:38 عصر
سلام

من یه دیتابیس SQL دارم که توش چندتا جدول وجود داره می خواستم بدونم چطوری می تونم یه کوئری بنویسم که بشه با اون 4 تا از این جدول ها رو که با هم رابطه دارن رو با دستور Join به

هم پیوند داد که بتونم از فیلدهای اون 4 تا جدول تو یه سری گزارش گیری ها و قسمتهای مختلف برنامه استفاده کنم

در ضمن کوئری مربوط به پیوند 2 تا جدول رو بلدم ولی برای 3 تا و بیشتر نمی تونم بنویسم لطفأ بهم کمک کنید دوستان عزیز

این کوئری خودمه که کار می کنه


"SELECT Num_Havale,Date_HO,VahedName,Molahezat FROM Tb_VahedPersonel INNER JOIN Tb_SefareshH ON Tb_VahedPersonel.Code_VP=Tb_SefareshH.Code_VP"

mohsen24000
چهارشنبه 28 اردیبهشت 1390, 16:52 عصر
select a.f1,b.f2,c.f3,d.f4 from ((tbl1 as a inner join tbl2 as b on a.f1=b.f1) inner join tbl3 as c on b.f1=c.f1) inner join tbl4 as d on c.f1=d.f1

یوسف زالی
چهارشنبه 28 اردیبهشت 1390, 16:58 عصر
پیوند بین چند تا جدول دقیقا مثل یه جدوله.
Select * from T1 join T2 on ... join T3 on ... join T4 on ...
نکته مهم اینه که حواستون باشه موقع join دیتاهای نمایش داده شده ممکنه تکرار داشته باشه.
کاملا به کاری که می خواین کنین بستگی داره.

arashjoon
چهارشنبه 28 اردیبهشت 1390, 18:52 عصر
ممنون از لطفت حالا اگه بخوام تکرار نداشته باشه چکار کنم ؟ از قیدی مثل WHERE استفاده کنم؟

اگه بخوام شرط WHERE در این دستور قرار بدم باید بعده کل دستور قرار بگیره یا بعده هر Join داخلی؟

یوسف زالی
چهارشنبه 28 اردیبهشت 1390, 18:56 عصر
بذارش بعد آخرین join
اگر ارتباط همه جداول یک به یک هست تکرار نداری اما اگه نباشه نمی تونی جلو تکرار رو بگیری مگه اینکه :
فیلدهایی رو انتخاب کنی که تو جدول master هست نه detail
اون وقت distinct میکنی.
select distinct F1, F2
from T1 ...

ATili.Nero
دوشنبه 17 مرداد 1390, 14:53 عصر
من 3 تا جدول دارم
می خوام با Inner Join بهم وصل کنم یعنی از هر جدول یه فیلد رو بخونه
یه یه کمکی بهم بکنه

Galawij
دوشنبه 17 مرداد 1390, 15:03 عصر
من 3 تا جدول دارم
می خوام با Inner Join بهم وصل کنم یعنی از هر جدول یه فیلد رو بخونه
یه یه کمکی بهم بکنه
Select Tb1.FieldsName,Tb2.FieldsName,Tb3.FieldsName From Tb1 INNER JOIN Tb2 ON Tb1.Id=Tb2.Id INNER JOIN Tb3 ON Tb3.Id=Tb2.Id