关系表的查询语句...在线等解决
学生表
SID(PK),SNo,SName。。。。。
科目表
KID(PK), KName
共 5个或者3个科目,英语数学。。。。
学生成绩表
SID,KID,Grade
1 1 60 (学生1,科目1,成绩)
1 2 80
结果表:
学生名称 科目1成绩 科目2成绩 科目3成绩
SELECT 学生成绩表.SName,学生成绩表.KName FROM 学生成绩表 INNER JOIN 学生表 ON 学生成绩表.SID=学生表.SID INNER JOIN 科目表 ON 学生成绩表.KID=科目表.KID where SName= "SName "
这个语句写的对吗? 不对帮改下
------解决方案----------------------建立学生表测试数据
declare @t1 table(sid int,sno varchar(10),sname varchar(50))
insert into @t1 select 1, '001 ', '赵 '
insert into @t1 select 2, '002 ', '钱 '
insert into @t1 select 3, '003 ', '孙 '
insert into @t1 select 4, '004 ', '李 '
--建立科目表测试数据
declare @t2 table(kid int,kname varchar(50))
insert into @t2 select 101, '英语 '
insert into @t2 select 102, '数学 '
insert into @t2 select 103, '语文 '
insert into @t2 select 104, '历史 '
insert into @t2 select 105, '政治 '
--建立学生成绩表测试数据
declare @t3 table(sid int,kid int,grade float)
insert into @t3 select 1,101,60
insert into @t3 select 1,102,80
insert into @t3 select 2,101,80
insert into @t3 select 2,102,50
--查询语句
SELECT B.SName,C.KName,A.grade
FROM @t3 A INNER JOIN @t1 B ON A.SID=B.SID INNER JOIN @t2 C ON A.KID=C.KID and SName= '赵 '
--结果
SName KName grade
----- ------- -----
赵 英语 60
赵 数学 80
----------------------------------
自己要学会思考,这样才会有提高。