PDA

View Full Version : سوال: Join کردن دو جدول با اتصال دو رکورد



epsilon
یک شنبه 05 مهر 1388, 19:13 عصر
فرض کنید دو جدول به نام A وBداشته باشیم که این دو جدول به وسیله دو رکورد اول و دوم بهم وصل شدن باشن ، برای Join کردن این دو جدول چه کدی باید بنویسیم؟

در ضمن میدونم که اگه دو جدول از طریق یک رکورد به هم متصل شده بودن این کد را داشتیم:



"select * from A join B on A.id=B.id";


آقاااااااا ! یکی جواب بده:گریه:
از بس تو فرمهای قبلی جستجو کردم و این در اون در زدم خسته شدم:عصبانی++:

daffy_duck376
یک شنبه 05 مهر 1388, 20:24 عصر
منظورتون دو فیلد هست دیگه ! نه رکورد

SELECT dbo.hesab_master.hesab_group, dbo.gorup.group_type
FROM dbo.gorup INNER JOIN
dbo.hesab_master ON dbo.gorup.group_code = dbo.hesab_master.hesab_group

epsilon
یک شنبه 05 مهر 1388, 21:15 عصر
بله، منظورم فیلد بود. معذرت!
اما نه اونی که شما فکر میکنید .
من میخوام دو تا جدول رو که دو فیلد از جدول اول با دو فیلد از جدول دوم رابطه دارن join کنم.
فکر کنید که جدول A شامل دو فیلد id , lname باشه که با جدول B که همین دو فیلد را داره در SQL رابطه داره حالا چطور دستور jOIN رو در #c براش بنویسم؟
ممنون.

behroz1387
یک شنبه 05 مهر 1388, 21:59 عصر
"SELECT a.lname , a.id ,b.lname ,b.id FROM a INNER JOIN b ON a.id = b.id " ;
با اين دستور مي تواني دو جدول را كه با فيلد id مشترك هستند به هم وصل كنيد

epsilon
دوشنبه 06 مهر 1388, 05:45 صبح
دوستان ممنون از وقتی که میذارید !
فکر میکنم ادبیات من از پایه مشکل داره...

مشکل من اینه که دو تا جدول من در دو فیلد مشترکن.!!!!!
جدول حضور و غیابم که علاوه بر فیلدهای وضعیت حضور و غیاب و تاریخ و... شامل نام خانوادگی و نام پدر است که از طریق این دو تا به فیلد کارآموزان ارتباط داره. شماره پرونده کارآموز را به عنوان ارتباط انتخاب نکردم چون موقع حضور و غیاب یا تاخیر و ... کسی شماره پرونده نمیپرسه . حالا با این اوصاف کسی میدونه چطور دستور join را باید استفاده کنم یا نه؟

daffy_duck376
سه شنبه 07 مهر 1388, 14:16 عصر
دوستان ممنون از وقتی که میذارید !
فکر میکنم ادبیات من از پایه مشکل داره...

مشکل من اینه که دو تا جدول من در دو فیلد مشترکن.!!!!!
جدول حضور و غیابم که علاوه بر فیلدهای وضعیت حضور و غیاب و تاریخ و... شامل نام خانوادگی و نام پدر است که از طریق این دو تا به فیلد کارآموزان ارتباط داره. شماره پرونده کارآموز را به عنوان ارتباط انتخاب نکردم چون موقع حضور و غیاب یا تاخیر و ... کسی شماره پرونده نمیپرسه . حالا با این اوصاف کسی میدونه چطور دستور join را باید استفاده کنم یا نه؟
روشت اشتباه عزیز . اومدیم و دو نفر پیدا شدن اسمشون محمدی بود و نام پدر علی . اونوقت چی . نمراتشونو با هم به اشتراک میگذارن و یه جلسه اولی میره سره کلاس یه جلسه دومی و نتیجه این میشه این دونفر همیشه حاضر هستند ! برو یه راه دیگه پیدا کن!

epsilon
چهارشنبه 08 مهر 1388, 17:51 عصر
ممنون
بله، در این مورد حق با شماس. مرسی.
مشکلم حل شد.
اما ای کاش حداقل کد این دستور رو میدادین...

r0o0yaaa
جمعه 10 مهر 1388, 13:49 عصر
سلام . کامل متوجه سوالتون نشدم اما اگه میخوای دو جدول که که تعداد ستون مشخص دارن رو با هم یه جدول کنی از UNION استفاده کن .

SELECT * FROM A
UNION
SELECT * FROM B

اگه میخوای فیلدهای تکراریت یکی نشن از UNIN ALL استفاده کن .
امیدوارم تونسته باشم چیزیو که میخوای ، بگم

Reza_Yarahmadi
جمعه 10 مهر 1388, 18:44 عصر
برای Join دو جدول با دو فیلد کافیه دوتا شرط رو با هم اعمال کنید

Select * from Table1,Table2 where (Table1.id = Table2.id) AND (Table1.Name like Table2.Name)
ویا
Select * from Table1 INNER JOIN Table2 ON Table1.id = Table2.id AND Table1.Name like Table2.Name
البته این کار چندان توصیه نمیشه!