别人说这个题目涉及了百分之八十的oracle知识,来挑战下吗?
建表语句如下:
选课表:
CREATE TABLE PM_CI
( CI_ID VARCHAR2(20) NOT NULL ENABLE,
STU_IDS VARCHAR2(100)
) ;
学生表:
CREATE TABLE PM_STU
( STU_ID VARCHAR2(20) NOT NULL ENABLE,
STU_NAME VARCHAR2(100)
) ;
数据如下:
选课表:
ci_id stu_ids
1 1,2,3,4
2 1,4学生表:
stu_id stu_name
1 张三
2 李四
3 王五
4 赵六
要求查询结果如图所示:
课程号 选课学生
1 张三,李四,赵六,王五
2 张三,赵六
提示如下:
1、需呀进行两个表的连接查询,为两个表都取别名
2、使用instr(a,b,1)函数;该函数的含义为:字符串b在字符串a中第一次出现的位置,如果a中没有字符串b则返回0
3、需要用到分组查询
4、使用wm_concat(cols) 函数对学生姓名用逗号进行拼接
我的答案在下篇文章中写出,欢迎留下你的答案。