2 wuronghong wuronghong 于 2013.09.06 13:48 提问

sql列转行,求sql大神帮忙解决。

如题
姓名 部门 题目ID 题目答案
A 编辑部 1 tt
A 编辑部 2 yy
A 编辑部 3 hh
B 测试部 1 tt
B 测试部 3 cc

我想要这样的结果
姓名 部门 第一题 第二题 第三题 ...等
A 编辑部 tt yy hh
B 测试部 tt NULL CC

3个回答

flyed2008
flyed2008   2013.09.06 18:23

你的题目只有1,2,3还是不确定呢

fanxuewen
fanxuewen   2013.09.09 16:25

SELECT distinct 姓名 ,部门 ,LEFT(UserList,LEN(UserList)-1) as list FROM (
SELECT 姓名 ,部门 ,
(SELECT 题目答案+',' FROM ZN_Area_City WHERE 题目ID =A.题目ID FOR XML PATH('')) AS UserList
FROM table A
GROUP BY 题目答案, 题目ID
)temp

shendixiong
shendixiong   2013.09.17 17:33

可以看下面的连接。要求跟你差不多
http://shendixiong.iteye.com/admin/blogs/1943158
列转行

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
《SQL入门经典》学习笔记
第一部分  SQL概念综述 第1章  欢迎来到SQL世界 1.4.1 表命名标准 表的名称以_TBL作为后缀,表的索引以_INX为后缀 1.4.3 表的构成 字段是表里的一列,记录是表里的一行 第二部分  建立数据库 第2章  定义数据结构 2.2.1 定长字符串 CHARACTER(n): n为最大字符数,通常用空格来填充数量不足的字符 2.2.2 变长字符串
SQL语句中列转行案例
--初始化示例 DECLARE @StudentGrade TABLE(student VARCHAR(20), chinese int, maths int, english int) INSERT @StudentGrade(student,chinese,maths,english) VALUES('张三','98','76','89') INSERT @StudentGra
Sql 列转行 三种方法对比
SQL code------ 合并列值  --******************************************************************************************* 表结构,数据如下:  id    value  ----- ------  1    aa  1    bb  2    aaa
SQL 操作列转行查询
用一个学生分数表操作演示列转行的做法
SQL 列转行
 *普通行列转换(爱新觉罗.毓华 2007-11-18于海南三亚)假设有张学生成绩表(tb)如下:Name Subject Result张三 语文  74张三 数学  83张三 物理  93李四 语文  74李四 数学  84李四 物理  94*/-------------------------------------------------------------------------/
SQL查询结果列转行(转)
SQL查询结果列转行2008-06-19 13:14数据库-行转列的语法                                        表: PerTab字段:name,  title,  values 原内容:一月  产品A   120    二月  产品A   20    一月  产品B    230    二月  产品B   400
SQL行转列、列转行
SQL行转列、列转行 这个主题还是比较常见的,行转列主要适用于对数据作聚合统计,如统计某类目的商品在某个时间区间的销售情况。列转行问题同样也很常见。 一、整理测试数据 create table wyc_test( id int(32) not null auto_increment, name varchar(80) default null, date date default nu
SQL中如何实现行转列,列转行的操作
SQL中如何实现行转列,列转行的操作.这里的例子保证让你豁然开朗!
MySQL 重温SQL——行转列,列转行
原文:http://www.cnblogs.com/kerrycode/archive/2010/07/28/1786547.html 行转列,列转行是我们在开发过程中经常碰到的问题。行转列一般通过CASE WHEN 语句来实现,也可以通过 SQL SERVER 的运算符PIVOT来实现。用传统的方法,比较好理解。层次清晰,而且比较习惯。 但是PIVOT 、UNPIVOT提供的语
SQL 列转行
假设有张学生成绩表(tb)如下: Name Subject Result 张三 语文  74 张三 数学  83 张三 物理  93 李四 语文  74 李四 数学  84 李四 物理  94 */ ------------------------------------------------------------------------- /* 想变成 姓名