You are here: Re: SQL Server 2005 - SELECT query « MsSQL Server « IT news, forums, messages
Re: SQL Server 2005 - SELECT query

Posted by Ed Murphy on 10/18/06 15:54

Bill wrote:

> Lionel Pinkhard wrote:

>> I currently have a select query with "Description = 'input from user
>> here'" which basically returns the associated row containing the
>> Description field exactly as typed by the user, however, would it be
>> possible to, if not found, return the closest match? I am using
>> Microsoft Visual Studio 2005 with C# as language and Microsoft SQL
>> Server 2005 as database.

> I am making an assumption that you can return multiple rows to the user
>
> to pick from. And that you want the exact match to appear as the most
> relevant and first in the list.
>
>
> SELECT 1 AS sort_order, row_data
> FROM tbl
> WHERE Description = 'input'
> UNION
> SELECT 2 AS sort_order, row_data
> FROM tbl
> WHERE Description like '%input%'
> AND Description != 'input'
> ORDER BY sort_order, ?

[top-posting fixed]

Does this work? I forget whether ORDER BY accepts calculated columns.

select
case when Description = 'input' then 1
when Description like '%input%' then 2
else -1 -- can't happen
end as sort_order,
row_data
from tbl
where Description like '%input%'
order by sort_order -- and optionally one or more additional columns

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация