PDA

View Full Version : یررسی تداخل زمانی



project80888
جمعه 04 مهر 1393, 19:47 عصر
Declare @StartDate datetime;
Declare @EndDate datetime;


set @StartDate='2014-09-26 12:00:00.000'
set @EndDate='2014-09-29 23:00:00.000'


SELECT Res_ID, Res_LocID_FK,Res_SDate , Res_EndDate, Res_Note, Res_StateID
FROM ReserveDb.dbo.tbl_Reserve
where ????

project80888
جمعه 04 مهر 1393, 19:50 عصر
دوستان ممنون میشم قسمت Where راهنمائی کنید
بررسی تداخل زمانی فکر کنم نیاز به توضیح نباشه جهت رزرو کلاسهای یک مکان استفاده میشه

project80888
جمعه 04 مهر 1393, 19:50 عصر
Res_ID Res_LocID_FK Res_SDate Res_EndDate Res_Note Res_StateID
1 1 2014-09-26 08:00:00.000 2014-09-28 12:00:00.000 1
3 1 2014-09-26 08:00:00.000 2014-10-01 13:00:00.000 1
5 1 2014-10-14 10:00:00.000 2014-10-15 14:00:00.000 1
7 1 2014-10-10 09:00:00.000 2014-10-15 17:00:00.000 1
8 1 2014-10-20 09:00:00.000 2014-10-24 14:00:00.000 1
9 1 2014-09-26 08:00:00.000 2014-11-26 15:00:00.000 1
10 1 2014-09-26 14:00:00.000 2014-11-30 19:00:00.000 1
12 1 2014-10-01 15:00:00.000 2014-12-15 16:00:00.000 1
13 1 2014-09-26 15:00:00.000 2014-12-26 19:00:00.000 1
14 1 2014-12-23 15:00:00.000 2014-12-29 18:00:00.000 1

project80888
جمعه 04 مهر 1393, 21:12 عصر
من تا یه حدی نوشتم ولی تداخل ساعتی چک نمی کنه



Declare @StartDate datetime;
Declare @EndDate datetime;


set @StartDate='2014-09-26 16:00:00.000'
set @EndDate= '2014-10-29 23:00:00.000'
declare @T table (Res_LocID_FK int , StartDate datetime, EndDate datetime)
insert into @T select 1,@StartDate,@EndDate

select T2.Res_SDate, T2.Res_EndDate


from @T as T1
inner join tbl_Reserve as T2
on T1.StartDate < T2.Res_EndDate and
T1.EndDate > T2.Res_SDate
and
T1.Res_LocID_FK = T2.Res_LocID_FK

project80888
جمعه 11 مهر 1393, 19:23 عصر
سلام دوستان کسی هست کمک کنه؟

Rejnev
جمعه 11 مهر 1393, 19:36 عصر
میخوای بدونی در بازه زمانی مشخص شده آیا رزروی وجود داره یا نه؟
مقایسه تاریخ ها با عملگرهای ریاضی امکان پذیره. دقت داشته باش که تاریخ بصورت ترکیبی از زمان و ساعت ذخیره میشه و برای ساعت به مشکلی بر نمیخوری...


Declare @StartDate datetime;
Declare @EndDate datetime;


set @StartDate='2014-09-26 16:00:00.000'
set @EndDate= '2014-10-29 23:00:00.000'


select * from tbl_reserve r
where
r.res_sDate>= @startDate AND
r.res_endDate<=@endDate

project80888
جمعه 11 مهر 1393, 23:55 عصر
وای کاش حداقل یک بار این سوال منو میخوندید و یا حداقل یک بار جواب خودتون تست می کردید؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟

project80888
شنبه 12 مهر 1393, 00:01 صبح
وای کاش حداقل یک بار این سوال منو میخوندید و یا حداقل یک بار جواب خودتون تست می کردید؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟
124181

Rejnev
شنبه 12 مهر 1393, 08:28 صبح
من توی 2 تا پست اول سوالی ندیدم!
درک مسئله نیمی از جوابه
موفق باشید.