回 帖 发 新 帖 刷新版面

主题:[原创]求助一个查询

create table bus1
(
bid int identity(1,1) primary key,
bname varchar(10) not null
)

create table incept
(
iid int identity(1,1),
iname int references bus1(bid) not null,
istart varchar(30) not null,
iend varchar(30) not null
)

create table line
(
lid int identity(1,1),
lname int references bus1(bid),
station1 varchar(30) not null,
station2 varchar(30) not null
)

insert bus1 (bname) values ('4路')
insert bus1 (bname) values ('5路')
insert bus1 (bname) values ('27路')

insert incept (iname,istart,iend) values (1,'火车站','北门')
insert incept (iname,istart,iend) values (2,'火车站','和平门')
insert incept (iname,istart,iend) values (3,'东门','和平门')

insert line (lname,station1,station2) values (1,'南门','钟楼')
insert line (lname,station1,station2) values (2,'东门','大差市')

select * from bus1
select * from incept
select * from line



select * from bus1 b1,incept b2 where b2.iname=b1.bid

--查询公交车的行驶路线 
select (select bname from bus1 where line.lname=bus1.bid) as 'bus',
line.station1,line.station2 
from line where line.lname=1

想在这个查询的基础上进行修改,要求是:把bus1的bname列显示出来,还要求把incept表的istart,iend列,line表的station1,station2列一并显示出来,这个查询该怎么写.

回复列表 (共6个回复)

沙发

你要说明他们是什么关系

板凳

bus1表是用来存储公交车车名的表,
incept表是用来存储公交车始发站和终点站的表,
line表是用来存储公交车途经站点的表。

incept和line表都引用了bus1的bid列.

3 楼

好心人帮帮忙,这个查询怎么写,本人实在不会.

4 楼

select bus1.bname,incept.istart,incept.iend,line.station1,line.station2 from bus1,incept,line 
where bus1.bid=incept.iname and bus1.bid=line.lname

5 楼

4楼的做法可以参考。。。
不过我觉得楼主建表似乎混了一点。。
呵呵

6 楼

没看懂楼主的意思!

我来回复

您尚未登录,请登录后再回复。点此登录或注册