2012-01-02 3 views
2

여러 개의 열 값을 선택하여 하나의 열로 연결하려고합니다. 그런 다음 값이 선택되는 열에서 LIKE를 실행하려고합니다. 그러나 그것은 작동하지 않는 것 같습니다.SQL Server에서 like와 연결 선택 하시겠습니까?

내 SQL 쿼리입니다.

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

이 쿼리에는 어떤 문제가 있습니까? 이 작업을 수행하는 더 좋은 방법이 있습니까? 열 별칭이 WHERE 절에 사용할 수 없으므로

답변

4
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%' 

이입니다. 별칭이 정의한 것을 명시 적으로 올바르게 처리하거나 별칭을 추상화하기 위해 하위 쿼리를 사용해야합니다.

+0

감사합니다. 첫 번째는 완벽하게 작동합니다. – startupsmith

+0

@lanks 크고 기꺼이 도와주세요! –

관련 문제