SQL Server выбрать объединить с как? - PullRequest
2 голосов
/ 02 января 2012

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

Вот мой SQL-запрос.

SELECT col1 + ' ' + col2 + ' ' + col3 AS colname
FROM tblname
WHERE 'colname' LIKE 'test%'

Что не так с этим запросом? Есть ли лучший способ сделать это?

1 Ответ

4 голосов
/ 02 января 2012
SELECT 
    col1 + ' ' + col2 + ' ' + col3 AS colname 
FROM tblname 
WHERE (col1 + ' ' + col2 + ' ' + col3) LIKE 'test%'

Или

select *
from
(
    SELECT 
        col1 + ' ' + col2 + ' ' + col3 AS colname 
    FROM tblname 
)a
WHERE colname LIKE 'test%'

Это потому, что псевдонимы столбцов нельзя использовать в предложении WHERE. Вам либо нужно прямо указать, что определяет псевдоним, либо использовать подзапрос для абстрагирования псевдонима.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...