سلام.
اگر یک چک (شماره چک) میتونه در هر دو جدول پرداختی و دریافتی وجود داشته باشه می تونید از Union All استفاده کنید. حتی اگر فقط در یک جدول هم باشه باز هم Union All جواب درستی رو برمیگردونه.
این عملگر رکوردهای دو جدول رو با هم اجتماع میکنه. اگر شماره چک مورد نظر در هر دو جدول باشه، هر دو رکورد رو برگشت میده و اگر فقط در یک جدول باشه همون یک رکورد رو برمیگردونه.
دقت داشته باشید زمانی می تونید از Union All استفاده کنید که :
1. تعداد ستون های هر دو جدول رابطه،که قراره در خروجی آورده بشن، باید یکسان باشند.
2. نوع ستون هایی که قراره در خروجی آورده بشن باید همنوع باشند.
در کد زیر من فرض کردم در هر دو جدول پرداختی و دریافتی یه شماره چک داری و یه تاریخ (دریافت یا پرداخت)، همچنین خودم بصورت دستی یه مقدار "daryafti" به رکوردهای جدول دریافتی اضافه کردم و یه مقدار "pardakhti" هم به رکوردهای جدول پرداختی. تا مشخص بشه هر چک، پرداختی بوده یا دریافتی.
SELECT CheckID,CheckDate,'daryafti' FROM TblDaryafti WHERE CheckID = @checkid
UNION ALL
SELECT CheckID,CheckDate,'pardakhti' FROM TblPardakhti WHERE CheckID = @checkid
راه دیگش اینه که بصورت تک به تک روی هر جدول کوئری بزنی.
موفق باشید.