Trying to a result set that has up to one row per Sensorrule row where Sensorrule.sensorid exists in Sensordata.sensorid with the DATE(Sensor.messagedate) = CURDATE() and the TIME(Sensordata.messagedate) => Sensorrule.fromtime and TIME(Sensordata.messagedate) => Sensorrule.totime.
Resulting set could be less than number of rows in Sensorrule if there are no rows in Sensordata with the current date (messagedate) with the time of messagedate between fromtime and totime.
Sensorrule
+-------------+--------------+------------+-------+--------------+
| sensorid | fromtime | totime | msg | name |
+-------------+--------------+------------+-------+--------------+
| 27460 | 5:00 | 11:00 | Work | Bob |
| 27461 | 4:00 | 15:00 | Not | Susan |
| 27460 | 7:30 | 12:00 | Max | Rick |
+-------------+--------------+------------+-------+--------------|
Sensordata
+---------+---------------------+---------------+----------+
| Room | messagedate | transactionid | sensorid|
+---------+---------------------+---------------+----------+
| Bedroom | 2014-05-30 07:48:14 | 332243181 | 27460 |
| Bedroom | 2014-05-30 05:48:14 | 332243182 | 27464 |
| Bedroom | 2014-05-22 07:36:21 | 332243183 | 27460 |
| Bedroom | 2014-05-22 09:23:21 | 332656534 | 27464 |
| Bedroom | 2014-05-21 06:34:22 | 332243185 | 27461 |
| Bedroom | 2014-05-20 06:15:06 | 332243187 | 27460 |
| Bedroom | 2014-05-20 07:40:34 | 332243172 | 27465 |
| Bedroom | 2014-05-19 09:27:56 | 332243191 | 27461 |
| Bedroom | 2014-05-18 06:34:08 | 332243101 | 27460 |
+---------+---------------------+---------------+----------+
Would like the resulting set to look something like:
Sensorid msg name
24760 Work Bob
27461 Not Susan
Note: Data set above doesn't specifically yield the above result