2016-05-21 5 views
0

У меня есть таблица под названием Employee так:SQL Server Содержит поиск

empid  name    city 
------------------------------------- 
1  Dhoni and Virat  Pune 
2  Raina or Rahane  Delhi 
3  John     CA 
4  Dhoni     Chennai 
5  Virat     Mumbai 

Я использую содержит поиск в таблице. Когда я запускаю этот запрос, я не могу получить точные результаты в правильном порядке.

SELECT name 
FROM EMPLOYEE 
WHERE CONTAINS(name,'"Dhoni and Virat"') 
ORDER BY ASC 

Я делаю результаты в следующем порядке.

Dhoni 
Virat 
Dhoni and Virat 

Но я хочу, чтобы эти результаты в следующем порядке

Dhoni and Virat 
Dhoni 
Virat 

Может кто-нибудь помочь с этим?

+0

Можете ли вы показать нам больше данных, чтобы было ясно, как вы хотите сортировать? –

+0

Рассмотрим приведенный ниже пример. Я хочу выполнить поиск со следующим именем «Micheal and Madhana». Когда я ищу это имя, я хочу, чтобы данные отображались в следующем порядке. 1. Михея и Мадхана * 2. Мишель * 3. Мадхана * ....... Такой способ я хочу, чтобы результаты отображались. Но здесь он отображается в другом порядке, как показано ниже. 1. Micheal * 2.Madhana * 3.Micheal и Madhana * ..... –

ответ

0

Вы можете использовать "как" вместо

SELECT name 
FROM `employee` 
WHERE `name` LIKE '%Dhoni%' or `name` LIKE '%Virat%' 
+0

Спасибо за ваш ответ. Я знаю, мы можем использовать как операцию. Но причина, по которой я ходил, содержит, производительность мудрая, она быстрее, чем операция. –

1

ORDER BY empid ASC даст результат в нужном Вам порядке

SELECT name 
FROM EMPLOYEE 
WHERE CONTAINS(name,'"Dhoni and Virat"') 
ORDER BY empid ASC 
+0

Спасибо за ваш ответ. Я пробовал с орденом по имени asc. но он возвращает результаты в другом порядке. он не возвращается с надлежащим порядком. когда я запускаю указанный выше запрос, каждое слово, которое он принимает и выполняет, содержит поиск. он не принимает всего слова. –

0

Вы пробовали CONTAINSTABLE?

SELECT e.name 
FROM EMPLOYEE e 
INNER JOIN CONTAINSTABLE(EMPLOYEE, name,'"Dhoni" or "Virat"') as con 
    ON e.empid = con.[KEY] 
ORDER BY con.RANK DESC 
Смежные вопросы