MSSQL连接三列,然后使用WHERE

时间:2017-03-20 10:41:09

标签: sql-server

我正在使用MSSQL服务器。我想要做的是将同一个表中的3列连接成一个结果,这样我就可以在结果上使用WHERE子句。

这是我想要运行的命令:

select col1 + col2 + col3 as result from table where result like '%term%'

然而,我继续被Invalid column name 'result'

击中

我已经看到很多关于连接列的答案,但似乎没有人对它们使用WHERE子句。

由于

3 个答案:

答案 0 :(得分:2)

试试这个

SELECT col1 + col2 + col3 AS result
FROM TABLE
WHERE col1 LIKE '%term%'
    OR col2 LIKE '%term%'
    OR col3 LIKE '%term%'

OR

SELECT *
FROM (
    SELECT col1 + col2 + col3 AS result
    FROM TABLE
    ) t
WHERE result LIKE '%term%'

答案 1 :(得分:1)

DECLARE @Search VARCHAR(10)='term' 
SELECT Concat(col1, col2, col3) AS result 
FROM   table 
WHERE  Charindex(@Search, Concat(col1, col2, col3)) > 0 

答案 2 :(得分:0)

使用内部表返回结果并搜索返回的列。

    SELECT * FROM 
(select col1 + col2 + col3 as result from [table] ) a 
where result like '%term%'