Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当“2014-06-11 09:45:00”在开始时间和结束时间之间时,则1个ELSE 0结束+案例,然后0.5个ELSE 0结束)作为H9 ,求和(当开始时间和结束时间之间的“2014-06-11 10:15:00”为1时,其他0结束+当开始时间和结束时_Javascript_Html_Sql - Fatal编程技术网

Javascript 当“2014-06-11 09:45:00”在开始时间和结束时间之间时,则1个ELSE 0结束+案例,然后0.5个ELSE 0结束)作为H9 ,求和(当开始时间和结束时间之间的“2014-06-11 10:15:00”为1时,其他0结束+当开始时间和结束时

Javascript 当“2014-06-11 09:45:00”在开始时间和结束时间之间时,则1个ELSE 0结束+案例,然后0.5个ELSE 0结束)作为H9 ,求和(当开始时间和结束时间之间的“2014-06-11 10:15:00”为1时,其他0结束+当开始时间和结束时,javascript,html,sql,Javascript,Html,Sql,当“2014-06-11 09:45:00”在开始时间和结束时间之间时,则1个ELSE 0结束+案例,然后0.5个ELSE 0结束)作为H9 ,求和(当开始时间和结束时间之间的“2014-06-11 10:15:00”为1时,其他0结束+当开始时间和结束时间之间的“2014-06-11 10:45:00”为0.5时,其他0结束)为H10 ,求和(当开始时间和结束时间之间的“2014-06-11 11:15:00”为1时,其他0结束+当开始时间和结束时间之间的“2014-06-11 11 11:4

当“2014-06-11 09:45:00”在开始时间和结束时间之间时,则1个ELSE 0结束+案例,然后0.5个ELSE 0结束)作为H9 ,求和(当开始时间和结束时间之间的“2014-06-11 10:15:00”为1时,其他0结束+当开始时间和结束时间之间的“2014-06-11 10:45:00”为0.5时,其他0结束)为H10 ,求和(当开始时间和结束时间之间的“2014-06-11 11:15:00”为1时,其他0结束+当开始时间和结束时间之间的“2014-06-11 11 11:45:00”为0.5时,其他0结束)为H11 ,求和(当开始时间和结束时间之间的“2014-06-11 12:15:00”为1时,其他0结束+当开始时间和结束时间之间的“2014-06-11 12:45:00”为0.5时,其他0结束)为H12 ,求和(当开始时间和结束时间之间的“2014-06-11 13:15:00”为1时,其他0结束+当开始时间和结束时间之间的“2014-06-11 13:45:00”为0.5时,其他0结束)为H13 ,求和(当开始时间和结束时间之间的“2014-06-11 14:15:00”为1时,其他0结束+当开始时间和结束时间之间的“2014-06-11 14:45:00”为0.5时,其他0结束)为H14 ,求和(当开始时间和结束时间之间的“2014-06-11 15:15:00”为1时,其他0结束+当开始时间和结束时间之间的“2014-06-11 15:45:00”为0.5时,其他0结束)为H15 ,求和(当开始时间和结束时间之间的“2014-06-11 16:15:00”为1时,其他0结束+当开始时间和结束时间之间的“2014-06-11 16:45:00”为0.5时,其他0结束)为H16 ,求和(当开始时间和结束时间之间的“2014-06-11 17:15:00”为1时,其他0结束+当开始时间和结束时间之间的“2014-06-11 17:45:00”为0.5时,其他0结束)为H17 ,求和(当开始时间和结束时间之间的“2014-06-11 18:15:00”为1时,其他0结束+当开始时间和结束时间之间的“2014-06-11 18:45:00”为0.5时,其他0结束)为H18 ,求和(当开始时间和结束时间之间的“2014-06-11 19:15:00”为1时,其他0结束+当开始时间和结束时间之间的“2014-06-11 19:45:00”为0.5时,其他0结束)为H19 ,求和(如果开始时间和结束时间之间为“2014-06-11 20:15:00”,则为1其他0结束+如果开始时间和结束时间之间为“2014-06-11 20:45:00”,则为0.5其他0结束)为H20 ,求和(当开始时间和结束时间之间的“2014-06-11 21:15:00”为1时,其他0结束+当开始时间和结束时间之间的“2014-06-11 21:45:00”为0.5时,其他0结束)为H21 ,求和(当开始时间和结束时间之间为“2014-06-11 22:15:00”时,则为1其他0结束+当开始时间和结束时间之间为“2014-06-11 22:45:00”时,则为0.5其他0结束)为H22 ,求和(当开始时间和结束时间之间的“2014-06-11 23:15:00”为1时,其他0结束+当开始时间和结束时间之间的“2014-06-11 23:45:00”为0.5时,其他0结束)为H23 从预订 左连接设施 预订时.LocationKey=设施.LocationKey 哪里 (开始时间>='2014-06-11 00:00:00'和 开始时间<'2014-06-12 00:00:00') 或 (结束时间>='2014-06-11 00:00:00'和 结束时间<'2014-06-12 00:00:00') 按设备分组d;
你能详细解释一下你想做什么吗?你的服务器端语言是什么?嗨,各位,我想每小时查看一次预订情况。例如,如果我从上午11点到下午2点预订了room1,在这些小时视图中(11,12,01小时),它应该显示设备不可用(我现在显示的是'1')您好,Marcelo Bezerra,我正在使用MS SQL进行此操作
+-------------+------------+
| Locationkey | FacilityID |
+-------------+------------+
|     1       |   Neptune  |
|     2       |   Jupiter  |
|     3       |   Pluto    |
+-------------+------------+
+------------+-------------+---------------------------+---------------------------+
| BookingKey | LocationKey |         StartTime         |          EndTime          |
+------------+-------------+---------------------------+---------------------------+
|     1      |      1      | '2014-06-11 09:00:00.000' | '2014-06-11 17:00:00.000' |
|     2      |      2      | '2014-06-11 09:00:00.000' | '2014-06-11 12:00:00.000' |
|     3      |      2      | '2014-06-11 13:00:00.000' | '2014-06-11 17:00:00.000' |
|     4      |      3      | '2014-06-11 09:00:00.000' | '2014-06-11 10:00:00.000' |
|     5      |      3      | '2014-06-11 16:00:00.000' | '2014-06-11 17:00:00.000' |
+------------+-------------+---------------------------+---------------------------+
+------------+----+-----+----+----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| FacilityID | 0h | ... | 8h | 9h | 10h | 11h | 12h | 13h | 14h | 15h | 16h | 17h | ... | 23h |
+------------+----+-----+----+----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| Neptune    | 0  | ... | 0  | 1  |  1  |  1  |  1  |  1  |  1  |  1  |  1  |  0  | ... |  0  |
| Jupiter    | 0  | ... | 0  | 1  |  1  |  1  |  0  |  1  |  1  |  1  |  1  |  0  | ... |  0  |
| Pluto      | 0  | ... | 0  | 1  |  0  |  0  |  0  |  0  |  0  |  0  |  1  |  0  | ... |  0  |
+------------+----+-----+----+----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| FACILITYID |         DT | H0 | H1 | H2 | H3 | H4 | H5 | H6 | H7 | H8 | H9 | H10 | H11 | H12 | H13 | H14 | H15 | H16 | H17 | H18 | H19 | H20 | H21 | H22 | H23 |
|------------|------------|----|----|----|----|----|----|----|----|----|----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|
|    Jupiter | 2014-06-11 |  0 |  0 |  0 |  0 |  0 |  0 |  0 |  0 |  0 |  1 |   1 |   1 |   0 |   1 |   1 |   1 |   1 |   0 |   0 |   0 |   0 |   0 |   0 |   0 |
|    Neptune | 2014-06-11 |  0 |  0 |  0 |  0 |  0 |  0 |  0 |  0 |  0 |  1 |   1 |   1 |   1 |   1 |   1 |   1 |   1 |   0 |   0 |   0 |   0 |   0 |   0 |   0 |
|      Pluto | 2014-06-11 |  0 |  0 |  0 |  0 |  0 |  0 |  0 |  0 |  0 |  1 |   0 |   0 |   0 |   0 |   0 |   0 |   1 |   0 |   0 |   0 |   0 |   0 |   0 |   0 |
;with Hrs (StartAt, StopAt)
as (
    select 0 as StartAt, 1 as StopAt
    union all
    select StartAt + 1 , StopAt + 1
    from Hrs
    where StartAt < 23
    )
select
        FacilityID
      , d.dt
      , MAX(case when hrs.StartAt = 0  and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h0
      , MAX(case when hrs.StartAt = 1  and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h1
      , MAX(case when hrs.StartAt = 2  and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h2
      , MAX(case when hrs.StartAt = 3  and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h3
      , MAX(case when hrs.StartAt = 4  and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h4
      , MAX(case when hrs.StartAt = 5  and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h5
      , MAX(case when hrs.StartAt = 6  and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h6
      , MAX(case when hrs.StartAt = 7  and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h7
      , MAX(case when hrs.StartAt = 8  and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h8
      , MAX(case when hrs.StartAt = 9  and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h9
      , MAX(case when hrs.StartAt = 10 and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h10
      , MAX(case when hrs.StartAt = 11 and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h11
      , MAX(case when hrs.StartAt = 12 and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h12
      , MAX(case when hrs.StartAt = 13 and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h13
      , MAX(case when hrs.StartAt = 14 and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h14
      , MAX(case when hrs.StartAt = 15 and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h15
      , MAX(case when hrs.StartAt = 16 and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h16
      , MAX(case when hrs.StartAt = 17 and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h17
      , MAX(case when hrs.StartAt = 18 and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h18
      , MAX(case when hrs.StartAt = 19 and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h19
      , MAX(case when hrs.StartAt = 20 and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h20
      , MAX(case when hrs.StartAt = 21 and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h21
      , MAX(case when hrs.StartAt = 22 and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h22
      , MAX(case when hrs.StartAt = 23 and Booking.BookingKey IS NOT NULL then 1 else 0 end) as h23
from Hrs
cross join (
            select cast('20140611' as date) dt 
           ) as d
cross join Facility
left join Booking on Facility.LocationKey = Booking.LocationKey
                 and cast(booking.StartTime as date) = d.dt
                 and Hrs.StartAt >= datepart(hour,StartTime)
                 and Hrs.StopAt <= datepart(hour,EndTime)
group by
        FacilityID
      , d.dt
SELECT FacilityID
, SUM(CASE WHEN '2014-06-11 00:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 00:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H0
, SUM(CASE WHEN '2014-06-11 01:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 01:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H1
, SUM(CASE WHEN '2014-06-11 02:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 02:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H2
, SUM(CASE WHEN '2014-06-11 03:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 03:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H3
, SUM(CASE WHEN '2014-06-11 04:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 04:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H4
, SUM(CASE WHEN '2014-06-11 05:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 05:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H5
, SUM(CASE WHEN '2014-06-11 06:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 06:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H6
, SUM(CASE WHEN '2014-06-11 07:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 07:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H7
, SUM(CASE WHEN '2014-06-11 08:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 08:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H8
, SUM(CASE WHEN '2014-06-11 09:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 09:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H9
, SUM(CASE WHEN '2014-06-11 10:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 10:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H10
, SUM(CASE WHEN '2014-06-11 11:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 11:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H11
, SUM(CASE WHEN '2014-06-11 12:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 12:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H12
, SUM(CASE WHEN '2014-06-11 13:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 13:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H13
, SUM(CASE WHEN '2014-06-11 14:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 14:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H14
, SUM(CASE WHEN '2014-06-11 15:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 15:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H15
, SUM(CASE WHEN '2014-06-11 16:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 16:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H16
, SUM(CASE WHEN '2014-06-11 17:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 17:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H17
, SUM(CASE WHEN '2014-06-11 18:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 18:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H18
, SUM(CASE WHEN '2014-06-11 19:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 19:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H19
, SUM(CASE WHEN '2014-06-11 20:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 20:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H20
, SUM(CASE WHEN '2014-06-11 21:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 21:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H21
, SUM(CASE WHEN '2014-06-11 22:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 22:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H22
, SUM(CASE WHEN '2014-06-11 23:15:00' BETWEEN StartTime AND EndTime THEN 1 ELSE 0 END + CASE WHEN '2014-06-11 23:45:00' BETWEEN StartTime AND EndTime THEN 0.5 ELSE 0 END) AS H23
FROM Booking
LEFT JOIN Facility
ON Booking.LocationKey = Facility.LocationKey
WHERE
  (StartTime >= '2014-06-11 00:00:00' AND
  StartTime < '2014-06-12 00:00:00')
  OR
  (EndTime >= '2014-06-11 00:00:00' AND
  EndTime < '2014-06-12 00:00:00')
 Group By FacilityID;