我需要查询用户可用的服务器总时间:在服务器可用的那一天,每个服务器必须在线。
我拥有的服务器状态数据来自下表(表1):
serverid status changedate changestatusid
server2 Offline 10-02-19 1
server2 Online 26-02-19 2
server1 Online 01-04-19 3
server1 Offline 02-05-19 4
server1 Online 06-05-19 5
server2 Offline 15-07-19 6
每天的可用时间来自另一个表,并且取决于用户-userclass-(表2)的类型:
Location userclass date timeavail
PERU type-A 01-04-19 08:00
PERU type-B 01-04-19 06:00
USA type-A 01-04-19 08:00
USA type-C 01-04-19 07:00
PERU type-A 02-04-19 08:00
最后,用户注册在另一个表(Table3)上:
userid firstname lastname userclass location
user1 Juan Obrero type-A PERU
user2 Michael Stevens type-B USA
user3 Brett McDonald type-C USA
到目前为止,我已经完成了:
select tb3.location,
tb3.userid,
tb2.date,
sum(tb2.timeavail) as hours
from Table3 as tb3
right join Table2 as tb2
on tb2.userclass = tb3.userclass
哪个汇总了从服务器到每个用户的总可用时间,但是我如何考虑服务器状态?