首页 新闻 会员 周边

这个sql语句应该怎么写??

0
悬赏园豆:10 [已解决问题] 解决于 2012-08-02 16:18

课程与课件是一对多的关系,用户与课件是多对多的关系。那我现在要找某一个课程下的所有用户sql语句怎么去写??或者直接写个存储过程。。。

COURSE_ID 课程id

VIDEO_ID   课件id

USER_ID 用户id

天殇月痕的主页 天殇月痕 | 初学一级 | 园豆:48
提问于:2012-08-02 10:58
< >
分享
最佳答案
0

自己解决

SELECT  *
FROM    T_USER_OUTER
WHERE   T_USER_OUTER.USER_ID IN (
        SELECT  T_USER_LEARNING_RECORD.USER_ID
        FROM    T_USER_LEARNING_RECORD
                LEFT JOIN T_VIDEO ON T_USER_LEARNING_RECORD.VIDEO_ID = T_VIDEO.VIDEO_ID
        WHERE   T_VIDEO.COURSE_ID IN ( SELECT   T_COURSE.COURSE_ID
                                       FROM     T_COURSE
                                       WHERE    T_COURSE.COURSE_ID = 2 ) )

天殇月痕 | 初学一级 |园豆:48 | 2012-08-02 16:17
其他回答(2)
0

这个。。。如果仅仅是要所有用户,也太简单了,我猜想你是想做统计,那个还有点点难度。

select USER_ID from table where COURSE_ID =@COURSE_ID 

收获园豆:1
happydaily | 园豆:301 (菜鸟二级) | 2012-08-02 11:13

我总共有四张表
T_USER:用户基本信息表
T_COURSE:课程表的基本信息
T_VIDEO:课件表,引用外键COURSE_ID
T_USER_LEARNING_RECORD:用户课件关联表,两个外键(USER_ID,VIDEO_ID)

现在要找某个课程下的所有用户。。。。

支持(0) 反对(0) 天殇月痕 | 园豆:48 (初学一级) | 2012-08-02 11:16
0

SELECT * FROM T_T_USER a RIGHT JOIN T_USER_LEARNING_RECORD b ON a.USER_ID =b.USER_ID LEFT JOIN T_VIDEO c ON b.VIDEO_ID=c.VIDEO_ID LEFT JOIN T_COURSE d ON c.COURSE_ID=d.COURSE

收获园豆:9
懒胖gg | 园豆:144 (初学一级) | 2012-08-02 13:04
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册