读书人

求一条SQL话语的拼写

发布时间: 2012-09-24 13:49:41 作者: rapoo

求一条SQL语句的拼写
班级表
班级ID 班级名

学生表
学生ID 学生名

中间表
ID 班级ID 学生ID

也就是用这个中间表来查询出一个班有多少个学生,可有一个学生属于多个班级。


假设:班级甲 有张三,李四,王五三个学生 我想在显示的时候

班级甲 张三,李四,王五 这样可以吗?


[解决办法]

SQL code
-->测试数据if object_id('classInfo')is not nulldrop table classInfogocreate table classInfo(cid int ,className varchar(20))insert into classInfo values(1,'班级甲');insert into classInfo values(2,'班级乙')if object_id('studentInfo')is not nulldrop table studentInfogocreate table studentInfo(sid int ,stuName varchar(20))insert into studentInfo values(1,'张三');insert into studentInfo values(2,'李四');insert into studentInfo values(2,'王五')if object_id('middleInfo')is not nulldrop table middleInfogocreate table middleInfo(id int ,cid int ,sid int)insert into middleInfo values(1,1,1);insert into middleInfo values(2,1,2);insert into middleInfo values(3,1,3);insert into middleInfo values(4,2,1)-->测试查询select c.className,d.stuNamefrom (select a.className,b.sid from classinfo a  join  middleinfo b on a.cid=b.cid)c join studentInfo d on d.sid=c.sid-->测试结果----------- --------------/*className    stuName    班级甲    张三    班级甲    李四    班级甲    王五    班级乙    张三*/
[解决办法]
探讨
班级表
班级ID 班级名

学生表
学生ID 学生名

中间表
ID 班级ID 学生ID

也就是用这个中间表来查询出一个班有多少个学生,可有一个学生属于多个班级。


假设:班级甲 有张三,李四,王五三个学生 我想在显示的时候

班级甲 张三,李四,王五 这样可以吗?

读书人网 >SQL Server

热点推荐