请问一下一个存储过程的写法,一定给分

wenziday 2003-05-07 10:39:21
两个表的详细说明如下:
Column(s) of "LG_OrderMeal" Table

Datatype Name Comment
bigint OrderID 定餐的索引
bigint RestaurantID 餐厅的索引
bigint FamilyMemberID 所有业主的索引
datetime OrderTime 预定就餐的日子
char(5) Time 预定早餐,午餐还是晚餐
int OrderType 预定的类型,如果为1则是预定厨师上门,为2则是预定到饭店用餐,为3则是预定送菜上门
int OrderTypeID 存放预定的桌位号或者厨师号或者为0(送菜上门)
int OrderRecipeID 预定的菜谱的索引
nvarchar(250) Content 定餐的具体说明


Column(s) of "LG_Table" Table

Datatype Name Comment
bigint TableID 座位的索引
bigint RestaurantID 餐厅的索引
int Count 该桌子可以坐多少人


问题:如何写一个存储过程实现找出一个餐厅所有的没有被预订的桌子
LG_OrderMeal这个表是订单
LG_Table是桌子
如果一个桌子被预订了
那么OrderMeal中OrderType=2,OrderTypeID将存放桌位号码


...全文
12 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
benxie 2003-05-08
学习ING。
select l.RestaurantID,l.OrderTime,t.TableID from LG_OrderMeal L, LG_Table T where L.ORDERTYPEID=2 AND L.ORDERTIME<GETDATE() AND
AND L.RESTAURANTID='某一餐厅'
回复
wenziday 2003-05-07
thanks
回复
miller3000 2003-05-07
限制具体的饭店少了一个条件,应该如下:
---限制具体其中一个饭店
select a.RestaurantID,TableID,maxCount from lg_table a,lg_ordermeal
where tableid not in(select ordertypeid from lg_ordermeal where ordertype=2 and restaurantid=111) and a.restaurantid=111
order by a.RestaurantID,TableID
回复
miller3000 2003-05-07
int Count 该桌子可以坐多少人
修改为
int maxCount 该桌子可以坐多少人

---限制具体其中一个饭店
select a.RestaurantID,TableID,maxCount from lg_table a,lg_ordermeal
where tableid not in(select ordertypeid from lg_ordermeal where ordertype=2 and restaurantid=111)
order by a.RestaurantID,TableID

---不限制饭店的查询

select a.RestaurantID,TableID,maxCount from lg_table a,lg_ordermeal
where a.RestaurantID+tableid not in(select RestaurantID+ordertypeid from lg_ordermeal where ordertype=2)
order by a.RestaurantID,TableID
回复
wenziday 2003-05-07
up
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2003-05-07 10:39
社区公告
暂无公告