首先,我为糟糕的表格结构道歉,这不是我的决定,而是存在于我之前。
无论如何,我有一个表tbl_cities
,它是一个列表,你猜对了,城市(但无论出于何种原因存储在[desc]
列中)。我想制作一个漂亮的AJAX文本输入,当您键入时,它会尝试找出您正在键入的城市并将其作为建议提供。这有点像this例子。所以我的查询看起来像这样
SELECT [desc] FROM tbl_cities WHERE [desc] LIKE 'phil%'
哪个工作正常。但是,我看到这个表中有一堆拼写错误,所以我想添加模糊逻辑。我想继续让城市与他们输入的第一个字母相匹配,所以我有这个问题。
SELECT [desc] FROM tbl_cities WHERE [desc] LIKE 'phil%'
OR DIFFERENCE('phil', [desc])>3
现在我想根据模糊逻辑部分之前的[desc] LIKE 'phil%'
进行排序。因此,在此示例中,费城应出现在随机城市之前,例如PAOLA
和POWELL
答案 0 :(得分:2)
我会尝试这样的事情:
order by case when [desc] like 'phil%' then 0 else 1 end, [desc]