PDA

View Full Version : یک کوئری برای بانک که برخی کلمات رو نادیده بگیره



download69
جمعه 16 اسفند 1392, 23:28 عصر
اول به تصویر توجه کنید:
http://up.vbiran.ir/uploads/0tbl_42533139422274724287.jpg
یک جدول دارم که در ستون keywords یک سری کلمات کلیدی وجود داره و من میخوام وقتی یک کاربر یک کلمه مثل "a keyboard made by reza asadi" رو سرچ کرد، رکورد دوم که بیشترین کلمات را دارد انتخاب کند و کلمات "a"، "made" و "by" نادیده گرفته شود.
با روش های ساده که نمیشه مثلا اگه کوئری های زیر رو بکار ببریم:
select keywords from tbl where keywords like 'a' OR keywords like 'keyboard' OR keywords like 'made' OR keywords like 'by' ...
یا
select keywords from tbl where keywords like 'a' And keywords like 'keyboard' And keywords like 'made' AND keywords like 'by' ...

اولی که زیاد جالب نیست چون تعداد رکورد ها زیاد میشن چون هر رکوردی که هر کدوم از کلمات رو داشته باشه رو میکشه بیرون ولی دومی فیلتر رو بیشتر میکنه و کافی یکی از کلمات توی فیلد نباشه که دیگه نتیجه ای رو نداره !!!!

چه کنیم حالا؟؟؟

aminireza65
شنبه 17 اسفند 1392, 10:52 صبح
اینم یه امتحان بکن عزیزم

select keywords from tbl where keywords like '%a%keyboard%made%' ...
ولی اینجا ترتیب قرارگیری کلمات کلیدی مهمه.

download69
شنبه 17 اسفند 1392, 12:49 عصر
تست کردم داداش اینم جواب نمیده
یکی اینکه همون طور که خودت گفتی ترتیب مهمه و مهم تر اینکه من گفتم برخی کلمات رو نادیده بگیره مثلا رکورد هایی رو بیاری که بیشترین کلمات به کاربرده شده را داشته باشه

download69
سه شنبه 20 اسفند 1392, 23:37 عصر
up .............
00