Как вернуть имена столбцов в результатах моего запроса? - PullRequest
0 голосов
/ 15 ноября 2011

Я использую этот запрос:

Select *
From table1
Join table2 on
     table2.column1
     + table2.column2
     + table2.column3
     + table2.column4
LIKE '%'
     + table1.column1
     + '%'
ORDER BY table1.column1

Как мне также вернуть имя столбца, в котором был найден результат.Например, если слово «bob» в table1.column1 найдено в table2.column3 (назовите этот столбец «comments»), то результат запроса должен иметь «bob», за которым следует «comments» (t2.c3), за которым следуетпо всем другим столбцам (t2.c1, t2.c2, t2.c3, t2.c4).

Ответы [ 2 ]

0 голосов
/ 15 ноября 2011

Я не знаю, что вы пытаетесь сделать, но вы можете получить «столбцы», где данные найдены с помощью этого простого трюка.При необходимости измените.

Вместо того, чтобы делать select *, перечислите все столбцы результатов.Затем для каждого столбца результата добавьте еще один столбец, заключенный в isNull (), чтобы указать, из какого столбца он получен.

Select 

table2.comments,
isNull(table2.comments, null, 'comments') col1,

table2.column2,
isNull(table2.column2, null, 'column2') col1

From table1 
Join table 2 on 
     table2.column1 
     + table2.column2 
     + table2.column3 
     + table2.column4 
LIKE '%' 
     + table1.column1 
     + '%' 
ORDER BY table1.column1
0 голосов
/ 15 ноября 2011
Select x.bob, y.column1, y.column2, y.column3, y.column4
From table1 x
Join table2 y on
     table2.column1
     + table2.column2
     + table2.column3
     + table2.column4
LIKE '%'
     + table1.column1
     + '%'
ORDER BY table1.column1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...