课程与课件是一对多的关系,用户与课件是多对多的关系。那我现在要找某一个课程下的所有用户sql语句怎么去写??或者直接写个存储过程
COURSE_ID 课程id
VIDEO_ID 课件id
USER_ID 用户id
COURSE_ID 课程id
VIDEO_ID 课件id
USER_ID 用户id
解决方案 »
- 关于静态方法的一个疑问
- asp.net 读取csv 文件
- 一个自动增长算法问题,求高手指点妙招
- 如何向注册用户邮箱自动发送帐号和密码
- 听说用游标会极大地降低数据库的性能,可存储过程中要遍历记录集的唯一方法就是使用游标。。。。。??
- 关于showModalDialog使用中的刷新问题,急呀
- 在Handler中用Session有问题?
- 求助:Datalist控件中ItemTemplate绑定了隐藏的一个按钮,鼠标移动到ItemTemplate单元中,如何显示出来?
- 在*.aspx文件中如何连接数据源?
- 关于CSDN中页面上的“关闭窗口”,???
- 求助:以下在VS2008中的网站代码是什么意思?给我一个代码注释
- 表单提交到另外一个网页时,如何取得前一页面的HttpInputFile
select * form 用户 inner join 课程 on 用户.USER_ID= 课件.VIDEO_ID where 课件.COURSE_ID=xxx
T_USER:用户基本信息表
T_COURSE:课程表的基本信息
T_VIDEO:课件表,引用外键COURSE_ID
T_USER_LEARNING_RECORD:用户课件关联表,两个外键(USER_ID,VIDEO_ID)
select * from T_COURSE left join T_VIDEO on T_COURSE.COURSE_ID=T_VIDEO.COURSE_ID and left join T_USER_LEARNING_RECORD on T_VIDEO.VIDEO_ID=T_USER_LEARNING_RECORD.vodeo_id where T_COURSE.course_id=xxxx;
1,select ,wmsys.wm_concat(课件ID)课件ID from 课程表 where 课程ID='你要选的id' order by 课件ID //此处需要排序,以后做对比用
结果为一列一行值: "课件ID,课件ID2,课件ID3,课件ID4..."
2.select ,wmsys.wm_concat(课件ID)课件ID,用户ID from 用户表
group by 用户ID order by 课件ID
结果:"课件ID,课件ID2,课件ID3,课件ID4..." 用户1
"课件ID,课件ID2,课件ID3,课件ID4..." 用户2
"课件ID,课件ID2,课件ID3,课件ID4..." 用户3然后 拿 2的结果集中 课件ID like '结果1中的课件ID%'拼成一句SQL太麻烦,楼主自己拼吧。 顺便说一下 wmsys.wm_concat是oracle 的函数,SqlServer 的话 楼主直接写个 函数就好了。
select video_id from table2 where course_id=@couseid)
where T_USER.userId in (
select T_USER_LEARNING_RECORD.userId from T_USER_LEARNING_RECORD left join T_VIDEO
on T_USER_LEARNING_RECORD.videoId=T_VIDEO.videoId
where T_VIDEO.courseId in(
selsct T_COURSE.courseId from T_COURSE
where T_COURSE.courseName=xxxx))
select video_id from table2 where course_id=@couseid)
弄错了,应该是"in”才对