列A 列B
小李 1
小王 2
小孙 1
假设有如上表(People),现在我要查询的效果是
当列B的值为1时,查询到的列A的内容拼接一个字符串
列A 列B
小李_X 1
小王 2
小孙_X 1
这样的SQL语句该怎么写
不是更新列A的内容,是仅在查询结果集中临时在列A上附加一个_X后缀
select top(10) case when Type=1 then Name+'_X' else Name end from Table
以MySql为例:
SELECT
CASE B
WHEN 1 THEN
CONCAT(A,'_X')
ELSE
A
END AS A,
B
FROM
table
select (select 列A+‘_X’ from people where 列B),列B from 列A
表数据:
A | B |
---|---|
小李 | 1 |
小王 | 2 |
小孙 | 1 |
查询SQL:
SELECT CONCAT(`A`,'_X',`B`) as `column` FROM `People`;
查询结果:
column |
---|
小李_X1 |
小王_X2 |
小孙_X1 |
select (case when 列B='1' then 列A+'_X1' else 列A end ) AS 列A,列B from People