View Full Version : سوال: جستجوی همزمان در چندین جدول مشابه
meysampaknahad
شنبه 28 آذر 1388, 13:20 عصر
سلام
من با همچین دستوری در جدول مورد نظر جستجو می کنم
SELECT id ,onvan , kholase , datetime FROM admin WHERE (kholase LIKE N'%'+ @value + '%') )
حالا می خوام به جای یه جدول که اینجا Admin هست در چند جدول جستجو انجام بشه.
یعنی اینطوری :
SELECT id ,onvan , kholase , datetime FROM admin & kelmi & user WHERE (kholase LIKE N'%'+ @value + '%') )
لطفاً راهنمایی کنید .
محمد سلیم آبادی
شنبه 28 آذر 1388, 13:54 عصر
سلام دوست عزیز،
دو راه پیشنهاد می کنم.
راه اول: اگر در بانک شما تنها این سه جدول وجود دارد می توانید از stored procedure زیر استفاده کنین:
exec sp_msforeachtable 'select column_list_comma from ? where condition'
راه دوم: سه جدول را با یکدیگر اجتماع کنین سپس جستجو رو انجام بدین:
select *
from (SELECT id, onvan, kholase, datetime, K='admin'
FROM admin
union all
SELECT id, onvan, kholase ,datetime, K='kelmi'
FROM kelmi
union all
SELECT id, onvan, kholase, datetime, K='user'
FROM [user]) as d
WHERE (kholase LIKE N'%'+ @value + '%')
meysampaknahad
شنبه 28 آذر 1388, 20:06 عصر
ممنون از راهنمایی تون.
من از روش دوم استفاده کردم چون نزدیک 10 تا جدول مشابه دارم و خیلی خوبم جواب داد.
یه سوال دیگه از این روش میشه برای جستجو ی همزمان توی جدولی که فیلدهاش متفاوته استفاده کرد؟
محمد سلیم آبادی
شنبه 28 آذر 1388, 21:21 عصر
ممنون از راهنمایی تون.
من از روش دوم استفاده کردم چون نزدیک 10 تا جدول مشابه دارم و خیلی خوبم جواب داد.
یه سوال دیگه از این روش میشه برای جستجو ی همزمان توی جدولی که فیلدهاش متفاوته استفاده کرد؟
به هر حال برای جستجو باید یک ستون مشترک داشته باشند که بتوانین روی آن جستجو انجام بدین.
اگر منظورتان این است که چند ستون غیر مشابه هم داشته باشند این امکان وجود داره. فقط فراموش نکنین که تعداد ستون های هر Select شرکت کننده در Union باید برابر باشه...
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.