永发信息网

SQL多表连接查询错误

答案:3  悬赏:10  手机版
解决时间 2021-08-20 10:25

use master
go

if exists (select * from sysdatabases where name ='testDB')
drop database testDB
go
create database testDB

go

-----------------stu
if exists (select * from sysobjects where name='un_sno')
alter table t_stu drop constraint un_sno
if exists (select * from sysobjects where name='fk_sno')
alter table t_score drop constraint fk_sno
if exists (select * from sysobjects where name='t_stu')
drop table t_stu
go

create table t_stu(
 sno varchar(8) primary key,
 sname varchar(12) not null,
 sclass varchar(20),
 sgrade int
)
go

------------------subject
if exists (select * from sysobjects where name='fk_subid')
alter table t_score drop constraint fk_subid
if exists (select * from sysobjects where name='t_subject')
drop table t_subject
go

create table t_subject(
 subid int primary key identity(1,1),
 suname varchar(16)
)
go

-----------------score
if exists (select * from sysobjects where name='t_score')
drop table t_score
go

create table t_score(
 scid int primary key identity(1,1),
 sno varchar(8) not null,
 subid int,
 sscore int
)
go

---------------constraints

alter table t_stu add constraint un_sno unique (sno)
go


alter table t_score add constraint fk_sno foreign key (sno)
 references t_stu(sno)
go


alter table t_score add constraint fk_subid foreign key (subid)
 references t_subject(subid)
go


---------------insert value
insert into t_stu values('001','tom','s3',2)
insert into t_stu values('002','jack','s4',3)
insert into t_stu values('003','ann','e3',3)
insert into t_stu values('004','jim','e4',6)

insert into t_subject values('历史')
insert into t_subject values('哲学')
insert into t_subject values('英语')

insert into t_score values('001',2,89)
insert into t_score values('001',3,49)

insert into t_score values('003',3,83)
insert into t_score values('001',1,84)
---------------display
select * from t_stu
select sno ,sname from t_stu
select * from t_score
select * from t_subject
--------------result
select a.sno as '学号' ,a.sname,b.suname as '学科',c.sscore as '分数' from t_score as c
 left join t_score as a on a.sno=c.sno
 left join t_subject as b on b.subid=c.subid

最佳答案

//朋友您好,本人已经复制你代码在本机上建数据库,测试通过了。望采纳。select 语句该下就得了。不懂再问,谢谢


select a.sno as '学号' ,a.sname as '姓名',b.suname as '学科',c.sscore as '分数'


from t_stu as a join t_score as c on a.sno=c.sno join t_subject as b on b.subid=c.subid

全部回答

select a.sno as '学号' ,a.sname,b.suname as '学科',c.sscore as '分数' from t_score as c
 left join t_score as a on a.sno=c.sno
 left join t_subject as b on b.subid=c.subid

t_score 表里没有sname这个字段。你搞错了把

sqlserver~应该会显示那一行报错才对啊~~

你别一起执行,慢慢一块一块的执行,把具体出错的代码贴出来~

这样贴一堆,很不好看的

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
好友空间只对指定人开放,怎么强制进入,哪位
DNF中强化最高的武器
我的QQ游戏 为什么不能上了
啊与夏天相关的诗句,关于热现象,下列说法正
泰坦尼克号电影下载 泰坦尼克号在线观看 泰坦
襄城县许昌鼎佳文体百货地址在哪里啊
be late to do 与be late doing 的区别?
介绍几个那样男人的网站?
事故四不放过是哪些?
济南一本学校有哪些,山东济南的大学有哪些?
为虾米稀饭一个人那么那么难?
人物笑描写段落,十万火急,
什么是文明???
拿得起,那放得下么?
女人最喜欢男人为她做什么?
推荐资讯
表格打不上字怎么办,为什么在excel表格中不能
今晚有约自助火锅烤肉(小和山店)地址在哪,我
官晓奎的日记是本人写的?
分手了,为什么忘不掉?
暑假在家无聊,谁推荐几款免费好玩的网游啊?
如果1立方厘米盒子里有空气分子2.7*10^19个,
能与NaOH溶液、Naco3、溴水、苯酚钠溶液和甲
为爱失忆,这样是对的吗
新廉政准则学习心得,廉政学习心得
苏仙区郴州中国电信(五里牌营业厅)我想知道这
夏新N810最新报价
非主流是怎样当的?我也想
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?