我正在使用MSSQL服务器。我想要做的是将同一个表中的3列连接成一个结果,这样我就可以在结果上使用WHERE子句。
这是我想要运行的命令:
select col1 + col2 + col3 as result from table where result like '%term%'
然而,我继续被Invalid column name 'result'
我已经看到很多关于连接列的答案,但似乎没有人对它们使用WHERE子句。
由于
答案 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%'