• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

求一个存储过程 高手请进 急用

anthit 2006-06-08 09:04:29
两个表
表1:station
StationID Int 4 车站编号
StationName Varchar 20 火车站名

表2:train
TrainID int 4 车次编号
TrainNo Nvarchar 10 火车车次
StartTime datetime 8 出发时间
EndTime datetime 8 到站时间
StartStationID int 4 出发站编号
EndStationID int 4 终点站编号

其中的 表2中的出发站编号 终点站编号 就是表1中的车站编号
想写一个存储过程,得到下面的结果:
车次编号 火车车次 出发时间 到站时间 始发站 终点站

急用,谢谢


...全文
142 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
anthit 2006-06-09
thanks
回复
paoluo 2006-06-08
這個問題,用Inner Join的效率就要高些了。 :)

回复
dssw 2006-06-08
好快!
回复
LouisXIV 2006-06-08
^^

除了Inner Join以外不喜欢用链接数据库

子查询和Exists用得比较多
回复
paoluo 2006-06-08
你又用子查詢了。 :)
回复
LouisXIV 2006-06-08
补一个逗号-_-
create procedure sp_Train(@StartStation int,@EndStation int)
as

select
TrainID as 车次编号,
TrainNo as 火车车次,
StartTime as 出发时间,
EndTime as 到站时间,
(select StationName from station where StationID=@StartStation) as 始发站,
(select StationName from station where StationID=@EndStation) as 终点站
from
train
where
StartStationID=@StartStation
and EndStationID=@EndStation
回复
LouisXIV 2006-06-08
create procedure sp_Train(@StartStation int,@EndStation int)
as

select
TrainID as 车次编号,
TrainNo as 火车车次,
StartTime as 出发时间,
EndTime as 到站时间
(select StationName from station where StationID=@StartStation) as 始发站,
(select StationName from station where StationID=@EndStation) as 终点站
from
train
where
StartStationID=@StartStation
and EndStationID=@EndStation
回复
paoluo 2006-06-08
--寫成存儲過程的話

--建立存儲過程
Create ProceDure GetTrain(@StartStationID Int, @EndStationID Int)
As
Begin
Select
A.TrainID As 车次编号,
A.TrainNo As 火车车次,
A.StartTime As 出发时间,
A.EndTime As 到站时间,
B.StationName As 始发站,
C.StationName As 终点站
From train A
Left Join station B
On A.StartStationID=B.StationID
Left Join station C
On A.EndStationID=C.StationID
Where A.StartStationID=@StartStationID And A.EndStationID=@EndStationID
End
GO
--調用
EXEC GetTrain 3,7
回复
paoluo 2006-06-08

Select
A.TrainID,
A.TrainNo,
A.StartTime,
A.EndTime,
B.StationName,
C.StationName
From train A
Left Join station B
On A.StartStationID=B.StationID
Left Join station C
On A.EndStationID=C.StationID
Where A.StartStationID=3 And A.EndStationID=7
回复
anthit 2006-06-08
忘了 说了 传进来的参数就是
出发站编号 终点站编号
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2006-06-08 09:04
社区公告
暂无公告