日期:2014-05-18  浏览次数:20464 次

求一个存储过程.取数据的..
表:
T_Event
字段:
EventID  
EventStartDate
EventStartHour
EventStartMinute
EventEndDate
EventEndHour
EventEndMinute
EventTitle
EventLocation
EventDescription
PubUserName
SubUserName


有一个存储过程(附1)用于往这个表存数据,而且分为了2种方式:

1,存某一天的记录,这样只会有一条记录存进数据库,EventStartDate   和   EventEndDate相同.

2,存某几天连续的记录,如从 '2007-09-12 '到 '2007-09-15 '
这个存储过程会将4条记录存到数据库里

EventStartDate:2007-09-12   ,   EventEndDate:2007-09-12的一条记录,
EventStartDate:2007-09-13   ,   EventEndDate:2007-09-13的一条记录,
EventStartDate:2007-09-14   ,   EventEndDate:2007-09-14的一条记录,
EventStartDate:2007-09-15   ,   EventEndDate:2007-09-15的一条记录.
这4条记录之间除了EventId和EventStartDate,EventendDate之外,其他字段都相同


现在要通过另一个存储过程往外取数据,给定的参数有3个.
@eventStartDate   varchar(20),@pubUserName   varchar(30),@subUserName   varchar(30)

这个存储过程要达到的目的.先要得到满足3个参数条件的记录集A

再记录集A里遍历,看有没有哪条记录是连续存储进来的,并找出为记录集B
A+B   为集合C,返回C

如我输入 '2007-09-13 ',那么首先要找到13号满足条件的记录集A
然后遍历记录集A,发现有条记录是和其他3条记录一起存储进来的,(也就是上面的12-15号中的3条记录),那么这3条记录就要作为记录集B,   A+B   为集合C,返回C.

求的就是这样一个取数据的存储过程.




------解决方案--------------------
其他12条也有可能和别的一起存近来的吧,你用游标去处理吧