首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

这样的sql语句怎么写

2012-02-14 
这样的sql语句如何写?在网上看到一个有关公交线路查询的例子,表结构如下:IDStataionOrders1路鼓楼11路新街

这样的sql语句如何写?
在网上看到一个有关公交线路查询的例子,表结构如下:
        ID                       Stataion                             Orders
        1路                         鼓楼                                     1
        1路                         新街口                                 2
        1路                         汽车站                                 3
        1路                         火车站                                 4
        2路                         新街口                                 1
        2路                         飞机场                                 2
        2路                         天安门                                 3
        3路                         天安门                                 1
        3路                         石门坎                                 2
        3路                         驾校                                     3

ID为路线名称,Station为站点名称,Orders为行车方向(通过它反应每个站的上一个、下一个站)
现在需要二个查询
1、按路线名称查询,查询完后按先后顺序列出这条线路的站点名称
2、按站点名称查询,查询完后把所经过该站点的线路都列出来

[解决办法]

create table test(ID varchar(20),Stataion varchar(20),Orders int )
insert into test
select '1路 ', '鼓楼 ', 1
union all select '1路 ', '新街口 ', 2
union all select '1路 ', '汽车站 ', 3
union all select '1路 ', '火车站 ', 4
union all select '2路 ', '新街口 ', 1
union all select '2路 ', '飞机场 ', 2
union all select '2路 ', '天安门 ', 3
union all select '3路 ', '天安门 ', 1
union all select '3路 ', '石门坎 ', 2


union all select '3路 ', '驾校 ', 3

select * from test

go

create function f_num(@id varchar(200))
returns varchar(200)
as
begin
declare @e varchar(8000)
--set @id= '1路 '
set @e= ' '
select @e=@e+ '-> '+Stataion from test where ID=@id order by Orders
set @e=stuff(@e,1,2, ' ')
return (@e)
end

go

select distinct id,dbo.f_num(id) as Stataion from test

/*
id Stataion Orders
--------------------------
1路鼓楼1
1路新街口2
1路汽车站3
1路火车站4
2路新街口1
2路飞机场2
2路天安门3
3路天安门1
3路石门坎2
3路驾校3


id Stataion
---------------------
1路鼓楼-> 新街口-> 汽车站-> 火车站
2路新街口-> 飞机场-> 天安门
3路天安门-> 石门坎-> 驾校
*/
drop table test

热点排行
Bad Request.