2014-02-07 2 views
1

У меня есть таблица SQL с 20-30 столбцами, которые мне нужно искать. Я настроил свободный текстовый поиск, так что я могу выполнять запросы, такие как:Имя столбца возврата из запроса SQL FreeText

Select * from dbo.table1 where Contains(*,'asdf'); 

Проблема заключается в том, я не знаю, какой столбец в действительности содержит «ASDF» есть простой способ, чтобы получить конкретный столбец (ы)?

EDIT

В результате я ищу будет похож на следующее:

Record Number | ColumnFoundIn 
5     columnA 
100    columnB 
244    columnA 
250    columnF 

Исходная таблица имеет уникальный номер записи для каждой строки, так что я хотел бы номер записи, а затем столбец, где был найден «asdf».

+0

Ваш запрос правильно найти '' 'asdf'' строку во всех колоннах, вопрос является ли вы на самом деле создали FT индексов на все эти столбцы? –

+0

@ M.Ali Похоже, что сам запрос уже работает. Я думаю, что OP пытается ответить на вопрос *, который из многих столбцов действительно удовлетворил этот запрос *. – Yuck

+0

Да, запрос работает отлично. Я просто не знаю, какой столбец в строке содержит «asdf» – Alan

ответ

0

Это может помочь направить вас в правильном направлении, с поиском по нескольким столбцам: SQL: Return Column names where column contains a given Value

+0

Это почти то, что мне нужно. Я отредактировал сообщение с результирующей таблицей, которую я ищу. Я не слишком хорошо знаком с SQL, поэтому я не совсем уверен, как изменить код для получения этого результата. – Alan

Смежные вопросы