ورود

View Full Version : تفاضل دو جدول از همدیگر و همزمان Join کردن



ali_gh8
یک شنبه 12 خرداد 1398, 08:22 صبح
با سلام و احترام
من یه سوال از خدمت اساتید محترم دارم . اینکه برای مثال من دو جدول دارم که فقط یک فیلد مشترک دارند و وقتی جدول اولی را از جدول دوم تفاضل می کنیم یک فیلد خروجی داره که من میخوام بتونم فیلد خروجی دستور تفاضل رو با فیلدهای دیگه Join کنم :

مثلا :
جدول A
کد ملی
نام و نام خانوادگی
نام پدر
---------
جدول B
کدملی
تاریخ واریز
مبلغ پرداختی

خب دوستان من از کد زیر استفاده کردم و تونستم کسایی رو در که جدول B نیستند ولی در جدول A هستند رو از هم جدا کنم ( همون A-B ):



Select MeliCode From A EXCEPT Select MeliCode From B

حالا چون خروجی دستور بالا فقط یک ستون و من میخوام تمامی ستون های جدول A هم که دارای شرط A-B هستند رو نمیش بده مثل نام و نام خانوادگی و نام پدر رو هم نشون بده .
ممنون میشیم راهنمایی کنید .

farhad_shiri_ex
یک شنبه 12 خرداد 1398, 08:48 صبح
با سلام و احترام
من یه سوال از خدمت اساتید محترم دارم . اینکه برای مثال من دو جدول دارم که فقط یک فیلد مشترک دارند و وقتی جدول اولی را از جدول دوم تفاضل می کنیم یک فیلد خروجی داره که من میخوام بتونم فیلد خروجی دستور تفاضل رو با فیلدهای دیگه Join کنم :

مثلا :
جدول A
کد ملی
نام و نام خانوادگی
نام پدر
---------
جدول B
کدملی
تاریخ واریز
مبلغ پرداختی

خب دوستان من از کد زیر استفاده کردم و تونستم کسایی رو در که جدول B نیستند ولی در جدول A هستند رو از هم جدا کنم ( همون A-B ):



Select MeliCode From A EXCEPT Select MeliCode From B

حالا چون خروجی دستور بالا فقط یک ستون و من میخوام تمامی ستون های جدول A هم که دارای شرط A-B هستند رو نمیش بده مثل نام و نام خانوادگی و نام پدر رو هم نشون بده .
ممنون میشیم راهنمایی کنید .

بهتره از عملگر IN به همراه NOT Logical Unary Operator استفاده کنید..


SELECT A.* FROM A
WHERE MeliCode NOT IN (SELECT MeliCode FROM B);