جستجو در دو جدول - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

وبـــلاگ هــفت خــط کــد


آموزش های برنامه نویسی
۲۸۳ نفر آنلاین
۸۳ عضو و ۲۰۰ مهمان در سایت حاضرند

جستجو در دو جدول

0 امتیاز
سلام

من دو جدول دارم که یکی مشخصات چک های دریافتی هستش و یکی چک های پرداختی فیلد هم نام و کلید اصلی هم دارند میخواستم بپرسم چطور میتوانم همزمان در دو جدول جستجو کنم از چه دستوری باید استفاده کنم.

میخوام وقتی سریال یا تاریخ چک رو در قسمت جستجو وارد میکنم در دو جدول چک های دریافتی و چک های پرداختی جستجو شود و مشخصات چک مورد نظر رو در دیتا گرید نمایش دهد فیلد مشترک میتونه id یا سریال چک باشه

لطفا با ذکر یک مثال راهنمایی کنید

با تشکر
سوال شده اسفند 28, 1392  بوسیله ی mohsen1365 (امتیاز 23)   3 3 4
ویرایش شده فروردین 3, 1393 بوسیله ی veniz2008

2 پاسخ

0 امتیاز
 
بهترین پاسخ

سلام.
اگر یک چک (شماره چک) میتونه  در هر دو جدول پرداختی و دریافتی وجود داشته باشه می تونید از 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

راه دیگش اینه که بصورت تک به تک روی هر جدول کوئری بزنی.

موفق باشید.

پاسخ داده شده اسفند 28, 1392 بوسیله ی veniz2008 (امتیاز 2,083)   1 5 21
انتخاب شد فروردین 3, 1393 بوسیله ی mohsen1365
من دو جدول دارم که یکی چک های دریافتی هست و یکی چک های پرداختی فیلد مشترک هم دارند
فقط اگر میشود با ذکر یک مثال راهنمایی کنید
فیلد مشترک بین این جداول چی هست؟
دقیقا دنبال چه کوئری و چه خروجی هستی؟
کامل توضیح بده چی مد نظرت هست (جستجو در دو جدول معنای خاصی نداره، باید دقیقامشخص بشه این جستجو قراره چه کاری رو انجام بده).
میخوام وقتی سریال یا تاریخ چک رو در قسمت جستجو وارد میکنم در دو جدول چک های دریافتی و چک های پرداختی جستجو شود و مشخصات چک مورد نظر رو در دیتا گرید نمایش دهد فیلد مشترک میتونه id یا سریال چک باشه
صورت سوال رو در پست 1 تصحیح کردم و همچنین جواب خودم رو هم ویرایش کردم.
موفق باشید.
0 امتیاز
یکم بیشتر توضیح دهید

ولی به وسیله پردازش موازی میشه
پاسخ داده شده اسفند 29, 1392 بوسیله ی Fire360Boy (امتیاز 2,524)   6 24 43
...