首页 新闻 搜索 专区 学院

求sql语句

0
悬赏园豆:20 [已解决问题] 解决于 2015-11-09 09:54

数据表结构是:
stu        sub
张三       数学
李四       历史
李四       音乐
李四       英语
张三       音乐

我想查到的结果如下
stu       sub
张三      数学,音乐
李四      历史,音乐,英语
求sql

0.617的主页 0.617 | 菜鸟二级 | 园豆:410
提问于:2015-10-23 11:51
< >
分享
最佳答案
0

收获园豆:8
Firen | 大侠五级 |园豆:5483 | 2015-10-23 14:32
其他回答(3)
0

你应该是需要for xml path.

详情:

http://www.cnblogs.com/doubleliang/archive/2011/07/06/2098775.html

收获园豆:4
李丶GuanYao | 园豆:1228 (小虾三级) | 2015-10-23 11:53
0

select a.`Name` ,GROUP_CONCAT(b.`Subject`)
from stu a inner JOIN
sub b on a.ID = b.StuID
group by a.ID

这是Mysql的。我本机没有装sql,无法测试。应该有类似的group_contact的函数。你看看这个WMSYS.WM_CONCAT是不是?把Group_contcat替换成WMSYS.WM_CONCAT试试。

^_^

收获园豆:4
贫民窟大侠 | 园豆:4270 (老鸟四级) | 2015-10-23 13:04
0

同意一楼  for xml path比较好用

SELECT DISTINCT stu,(SELECT sub+',' FROM tbl t1 WHERE t1.stu=t.stu FOR XML PATH('')) AS sub FROM tbl t

收获园豆:4
小白菜T | 园豆:564 (小虾三级) | 2015-10-23 15:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册