50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

Join - مغایرت گیری

با سلام
من دو تا جدول دارم که یکی صورتحساب بانکی بنام Sorat هست و دیگری دفاترم بنام Daftar حال میخوام بین این دو مغایرت گیری کنم و واریزی هایی که به بانک انجام شده ولی هنوز در دفاتر ثبت نشده است را پیدا کنم.

Table Sorat

bes
bed
date
2000
0
99/03/01
5000
0
99/03/01
5000
0
99/03/01

Table Daftar

credit
debit
Sanad_date
2000
0
99/03/01
5000
0
99/03/01

حال باتوجه به نمونه بالا مشاهده میشود که یکی از واریزی ها به مبلغ 5 هزار در دفاتر ثبت نگشته است حال من چطور میتوانم این مغایرت را پیدا کنم؟
یعنی من میخوام یه گزارشی درست کنم که به من بگوید یک واریزی در تاریخ یکم خرداد ماه 99 در دفاتر ثبت نشده است.

پرسیده شده در 1400/06/03 توسط

5 پاسخ

1

خب دلیل اصلیش اینه که شما کلید مناسبی رو برای مقایسه انتخاب نکرده اید . مبلغ همیشه می تونه تکراری باشه. تو این مورد مثلا باید شماره تراکنش داشته باشید تا مطمئن بشید گزارش ها درست هستند.

پاسخ در 1400/06/03 توسط
0

از count استفاده کنید و تعداد هر میلغ در روز رو بگیرید و مقایسه کنید.


ولی برای مقایسه دقیق یه فیلد Id مناسب لازم دارید که اینجا نیست.

پاسخ در 1400/06/04 توسط
0

باتوجه به اینکه در دفاتر یکبار مبلغ 5 هزار ثبت شده است دستور except مبلغ 5 هزار را نشان نمیدهد

پاسخ در 1400/06/03 توسط
0

خب شماره گزارشی وجود نداره و من هم فقط میخوام به من گزارشی بده که فقط بدونم یکی از واریزی های 5 هزار ریالیم هنوز در دفاتر ثبت نگشته است


پاسخ در 1400/06/04 توسط
0

سلام به شما دوست عزیز.

از عملیات except استفاده کنید.

مثل دستور زیر

select bes as amount, date from sorat
except
select credit as anount , sanad_date as date from daftar
پاسخ در 1400/06/03 توسط

پاسخ شما