PDA

View Full Version : سوال: ارتباط بین جدولها وقتی مقدار کلید خارجی null هست



sds1920
شنبه 15 خرداد 1389, 12:34 عصر
سلام به همه ی دوستان.من می خوام اطلاعات رو از دوتا جدول به دست بیارم که با یک کلید خارجی به هم وصل هستند ولی مسئله اینجاست که به دلایلی این کلید خارجی ممکنه مقدار null داشته باشه.وقتی دستور Select رو می نویسم فقط اطلاعاتی رو نشون می ده که کلید خارجی اون null نیست.
حالا من می خواستم بپرسم می شه دستور SELECT رو جوری بنویسم که همه ی اطلاعات رو نشون بده ولی به جای مقادیری که به کلید خارجی null وابسته هست مقدار null داشته باشه؟

محمد سلیم آبادی
شنبه 15 خرداد 1389, 17:02 عصر
سلام،
SELECT t1.*, t2.* FROM details AS t1
LEFT JOIN masters AS t2
ON t1.FK = t2.PK

sds1920
شنبه 15 خرداد 1389, 18:31 عصر
آقا خیلی خیلی ممنون.من مشکلم حل شد.کارت یه دنیا برای من ارزش داشت.
ولی اگه یه توضیح کوچیک در مورد فیلدها بدید برای کسانی که بعدا این تاپیکو مشاهده می کنن بهتره.
بازم ممنون.

محمد سلیم آبادی
شنبه 15 خرداد 1389, 18:32 عصر
توضیح کوچیک در مورد فیلدها
امکان داره بیشتر توضیح بدین. چون متاسفانه منظورتون را متوجه نشدم.

محمد سلیم آبادی
شنبه 15 خرداد 1389, 18:34 عصر
اگر با Outer Join ها آشنایی ندارین می تونید از روش ساده تر که درکشم برای تازه کار ها (در SQL) هم راحت است استفاده کنید:

SELECT * FROM t1 JOIN t2 ON t1.col1=t2.col2
UNION ALL
SELECT *, NULL, NULL FROM t1 WHERE t1.col IS NULL

تعداد NULL در select دوم باید به تعداد ستون های جدول دوم در select اول باشه. چون در عملگر union باید تعداد ستونهای target یکسان باشند.