select ptl_a01, ptl_piitem, ( ) as ptl_count, STUFF((SELECT ','+ltrim(ptl_pdid) FROM PRODUCT_TRACEABILITY_LOG , , '') AS ptl_all_pdid GROUP BY t.ptl_a01,t.ptl_piitem ORDER BY t.ptl_a01 关键字:STUFF 1.作用 删除指定长度的字符,并在指定的起点处插入另一组字符. 2.语法 STUFF ( character_…
Firebird 同一字段的多行合并为一行用LIST函数类似于MYSQL的GROUP_CONCAT. 具体用法如下: SELECT LIST(a.GG_NAME||':'||a.GG_VALUE) as GuiGEName, a.SP_IDFROM SP_GUIGE a group by a.SP_ID…
T-sql 有一个for xml path('')的从句能把多行结果合并到一行,并成为xml 格式 比如有一张表tb有两列,其格式和数据为: id value—————1 aa1 bb2 aaa2 bbb2 ccc 如果对其执行sql: select id, value from tb for xml path('tbnode') 则返回的结果集仅为一行一列: <tbnode><id>1</id><value>aa</value><id&g…
http://blog.csdn.net/rav009/article/details/50723307 T-sql 有一个for xml path('')的从句能把多行结果合并到一行,并成为xml 格式 比如有一张表tb有两列,其格式和数据为: id value—————1 aa1 bb2 aaa2 bbb2 ccc 如果对其执行sql: select id, value from tb for xml path('tbnode') 则返回的结果集仅为一行一列: <tbnode><id…
在项目开发中,有时会碰到将列记录合并为一行的情况,例如根据地区将人员姓名合并,或根据拼音首字母合并城市等,下面就以根据地区将人员姓名合并为例,详细讲一下合并的方法. 首先,先建一个表,并添加一些数据,建表代码如下: If OBJECT_ID(N'Demo') Is Not Null Begin Drop Table Demo EndElse Begin Create Table Demo( Area nvarchar(30), …
数据库结构如图: 而我想让同一个人的不同成绩变成此人在这一行不同列上显示出来,此时分为2中展现: 第一种展现如图----[多行变一列](合并后的数据在同一列上): sql如下: select name ,group_concat(sore Separator ';') as score from stu group by name 第二种展现如图----[多行变多列](合并后的数据在不同列上): sql如下: SELECT name , MAX(CASE type WHEN '数学' THEN…