PDA

View Full Version : مشکل در کد سرچ از چند جدول



vista2010
یک شنبه 22 مرداد 1391, 17:17 عصر
سلام
فرض کنید سه تا جدول دارم،میخام رکوردی که حاوی متن موردنظرم هست،بین این سه جدول جستجو شه و اگر تو یکی از جداول وجود داره،برگردونه..برام فرقی نمیکنه که این رکورد تو کدوم جدول پیدا میشه...
جداول باهم ارتباطی ندارن..
یه چیزی مثل سرچ سایتها میخام که وقتی کلمه ای رو نوشتی،بین همه جداول جستجو میکنه..
یکم خودم به یه جاهایی رسیدم،اما جواب نمیده...
SELECT title, body
FROM t_news
WHERE (title LIKE N'%@a%') OR
(body LIKE N'%@a%')
UNION ALL
SELECT title, body
FROM t_project
WHERE (title LIKE N'%@a%') OR
(body LIKE N'%@a%')
UNION ALL
SELECT title, '1' AS body
FROM t_govahiname
WHERE (title LIKE N'%@a%')
UNION ALL
SELECT title, body
FROM t_mproject
WHERE (title LIKE N'%@a%') OR
(body LIKE N'%@a%')

همه جداول دارای فیلدهای title ,body هستن...اما هر مقداری که بجای متغیر @a قرار میدم،هیچ رکوردی رو نشون نمیده...

vista2010
دوشنبه 23 مرداد 1391, 23:41 عصر
چرا جواب نمیده؟؟ایراد کارم چیه؟؟؟:ناراحت:.
کدهام بدون خطااجرامیشن،اما خروجی نمیده!!!
...چند روزه دنبال جوابم،اگر کسی میتونه ممنون میشم کمکم کنه!!!:عصبانی++:

hamid_shrk
سه شنبه 24 مرداد 1391, 07:54 صبح
دوست عزیز شما باید ابتدا مقدار ورودی رو اینظوری تغییر بدی :

SET @a='%'+@a+'%'

بعد واسه LIKE کردن اینطوری عمل کنی :

SELECT title, body
FROM t_news
WHERE (title LIKE @a) OR
(body LIKE @a)