关于sql提取两个表格中的数据的问题

JaedongLee 发布于 2017/09/21 22:01
阅读 167
收藏 0

有这样三个表

表1, 表2, 表3

表2有两个联合主键学生ID和课程ID, 分别关联着表1的ID和表3的ID

如下表所示, 

表1: 

学生 信息 ID
张小萌 张小萌的信息 1
李大柱 李大柱的信息 2
王小呆 王小呆的信息 3

表2:

学生ID 课程ID ID
1 1 1
1 2 2
1 3 3
2 1 4
2 2 5

表3:

课程名 课程内容 ID
补刀课 补刀课的内容 1
越塔课 越塔课的内容 2
反杀课 反杀课的内容 3

问题:

我现在想获取学生和其课程的信息如下:

学生 学生信息 ID 课程名
张小萌 张小萌的信息 1 补刀课;越塔课;反杀课
李大柱 李大柱的信息 2 补刀课;越塔课

我试过cursor和while, 但始终得不到想要的结果, 所以请教一下各位

加载中
0
不知道你想干嘛
不知道你想干嘛

合併複合字段的數據

CREATE TABLE ##tb ( id INT, value VARCHAR(10) )

insert into ##tb values(1, 'aa')
insert into ##tb values(1, 'bb')
insert into ##tb values(2, 'aaa')
insert into ##tb values(2, 'bbb')
insert into ##tb values(2, 'ccc')

SELECT * FROM ##tb
SELECT id, [value] = stuff(( SELECT ',' + [value] FROM ##tb a WHERE a.id = b.id FOR XML path('') ), 1, 1, '')
FROM ##tb b
GROUP BY id

DROP TABLE ##tb


 

返回顶部
顶部