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' ...
اولی که زیاد جالب نیست چون تعداد رکورد ها زیاد میشن چون هر رکوردی که هر کدوم از کلمات رو داشته باشه رو میکشه بیرون ولی دومی فیلتر رو بیشتر میکنه و کافی یکی از کلمات توی فیلد نباشه که دیگه نتیجه ای رو نداره !!!!
چه کنیم حالا؟؟؟
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' ...
اولی که زیاد جالب نیست چون تعداد رکورد ها زیاد میشن چون هر رکوردی که هر کدوم از کلمات رو داشته باشه رو میکشه بیرون ولی دومی فیلتر رو بیشتر میکنه و کافی یکی از کلمات توی فیلد نباشه که دیگه نتیجه ای رو نداره !!!!
چه کنیم حالا؟؟؟