SQL2005或以上才可以:
专业成都网站建设公司,做排名好的好网站,排在同行前面,为您带来客户和效益!创新互联为您提供成都网站建设,五站合一网站设计制作,服务好的网站设计公司,网站设计制作、成都网站设计负责任的成都网站制作公司!
Declare
@t
Table
(
ID
int,
FName
varchar(20),
CName
varchar(20),
CAge
varchar(20)
)
Insert
Into
@t
select
1,'吴亮','吴1','3岁'
Union
select
1,'吴亮','吴2','5岁'
Union
select
1,'吴亮','吴3','9岁'
Union
select
4,'麦大伟','麦1','3岁'
Union
select
4,'麦大伟','麦2','5岁'
Union
select
6,'张思','张1','3岁'
下面是合并:
Select
ID,FName,CName=Stuff((Select
','+CName
From
@t
Where
ID=T.ID
For
xml
path('')),1,1,''),
CAge=Stuff((Select
','+CAge
From
@t
Where
ID=T.ID
For
xml
path('')),1,1,'')
From
@t
T
Group
by
id,FName
如果是不同字段但是同一类型的拼接可以直接用加号:
例如 表test里面有 A、B两个字段,
select A + B as C from test;
1、语句如下:
select 字段A, 字段B, 字段A + 字段B as 字段C From 表1
注:字段A加上字段B的计算列命名为字段C
2、计算列
计算列由可以使用同一表中的其他列的表达式计算得来。表达式可以是非计算列的列名、常量、函数,也可以是用一个或多个运算符连接的上述元素的任意组合。表达式不能为子查询。
原题的答案就是“计算列”。
扩展资料:
计算列应用范围
计算列可用于选择列表、WHERE 子句、ORDER BY 子句或任何可使用正则表达式的其他位置,但下列情况除外:
用作 CHECK、FOREIGN KEY 或 NOT NULL 约束的计算列必须标记为 PERSISTED。如果计算列的值由具有确定性的表达式定义,并且索引列中允许使用计算结果的数据类型,则可将该列用作索引中的键列,或者用作 PRIMARY KEY 或 UNIQUE 约束的一部分。
例如,如果表中含有整数列 a 和 b,则可以对计算列 a + b 创建索引,但不能对计算列 a + DATEPART(dd, GETDATE()) 创建索引,因为在后续调用中,其值可能发生改变。
计算列不能作为 INSERT 或 UPDATE 语句的目标。
数据库引擎基于使用的表达式自动确定计算列的为 Null 性。即使只有非空列,大多数表达式的结果也“认为”可为空值,因为下溢或溢出生成的结果也可能为空。使用带 AllowsNull 属性的 COLUMNPROPERTY 函数可查明表中任何计算列的为 Null 性。
通过指定 ISNULL (check_expression, constant) 可以将可为空值的表达式转换为不可为空值的表达式,其中, constant 是可替换所有空结果的非空值。
参考资料:
百度百科.计算列