View Full Version : join کردن دو تا جدول
سفید برفی
جمعه 29 دی 1385, 15:12 عصر
ببخشید من می خواهم دو تا جدول را join کنم بعد از یکی اطلاعاتی را
بگیرم که در آن یکی نیست.
لطفا راهنمایی کنید.
whitehat
جمعه 29 دی 1385, 17:07 عصر
آگر منظور شما از اطلاعاتی که در دیگری نیست از کلید اصلی دو جدول است باید از outer join استفاده کنید.برای راهنمایی بیشتر بهتر ساختار جداول خود را این جا درج کنید و منظورتان را واضح تر بیان کنید
سفید برفی
جمعه 29 دی 1385, 22:01 عصر
من دو تا جدول به نام book و borrow دارم که در یکی کتابهای به امانت رفته قرار دارد ودر اولی لیست کل کتابها .حالا من می خواهم لیست کتاب های به امانت نرفته را می خواهم.
DonetKarvb
جمعه 29 دی 1385, 22:18 عصر
من دو تا جدول به نام book و borrow دارم که در یکی کتابهای به امانت رفته قرار دارد ودر اولی لیست کل کتابها .حالا من می خواهم لیست کتاب های به امانت نرفته را می خواهم.
Select Bookid,BookName from Book
Where BookId not in (Select BookId From borrow)
در اینجا فرض میکنیم که ستون BookId در دوجدول مشترک بوده است.
SabaSabouhi
یک شنبه 01 بهمن 1385, 11:44 صبح
با سلام
این کار رو هم مىتوانى انجام دهى:
SELECT B.*
FROM Books B
LEFT OUTER JOIN Borrow W ON W.BookID = B.BookID
WHERE W.BookID is NULL
صبا صبوحى
سفید برفی
یک شنبه 01 بهمن 1385, 14:04 عصر
سلام
ممنون از راهنمایی شما .
اگر ممکن است درباره کدی که نوشتید توضیح دهید.
متشکرم
SabaSabouhi
دوشنبه 02 بهمن 1385, 15:19 عصر
سلام
Left outer join یعنی تمام سطرهای جدول اول بیایند، و اگر در جدول دوم سطر متناسب با شرطهای اعلام شده وجود داشت آن نیز بیاید.
در این نوع Join اگر در جدول دوم سطر متناظر وجود نداشت محتوای ستونهای مربوط به جدول دوم مقدار Null خواهد داشت که در شرط Where مورد استفاده قرار گرفته.
صبا صبوحی
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.