PDA

View Full Version : مرتب سازی بر حسب میزان ارتباط



chaalesh
پنج شنبه 18 بهمن 1386, 11:06 صبح
با سلام
من دنبال sql بهینه ای هستم برای وقتی که توی فیلد هام دنبال یک رشته ای باشم
مثال : برای جستجوی نان


query:select * from mytable where myvalue like '%نان%'


این Sql منو به خواستم میرسونه ولی میخوام اول رکورد هائی بیان که توشون دقیقا کلمه ' نان ' هست بعدا رکوردهائی که دارای ترکیباتی از نان هستند بیان .

chaalesh
پنج شنبه 18 بهمن 1386, 11:46 صبح
شاید با پاسخ به این سوال بشه به جواب رسید
چطور میشه نتیجه جستجوئی که دارای چندین شرط توی قسمت where هست - البته با or - رو بر اساس این شروط مرتب کرد ؟ یعنی اول اونائی بیان که توی شرط اولی صدق میکنن و ...

chaalesh
پنج شنبه 18 بهمن 1386, 11:47 صبح
آیا باید از Full Text Search استفاده کنم ؟؟
راه حل دیگری نداره؟؟

AminSobati
پنج شنبه 18 بهمن 1386, 11:50 صبح
دوست عزیزم،
این نیاز با شرایط محدودی به شکل زیر قابل شبیه سازیه. فرضا رکوردهایی که فیلدی خاصی از اونها با حرف i شروع میشه باید اول باشند، بعد رکوردهایی که در وسط دارای حرف i هستند و ...


use northwind
go

select case
when customerid like 'i%' then 1
when customerid like '%i' then 3
when customerid like '%i%' then 2
else 4
end as Rank,
*
from customers
order by Rank