【发布时间】:2014-10-23 19:27:51
【问题描述】:
我有下表robot_state:
section robotid date active
area1| 11 | 2014-08-09 02:40:09 | 1
area1| 11 | 2014-08-09 02:55:50 | 0
area3| 01 | 2014-08-09 03:40:09 | 1
area3| 11 | 2014-08-10 00:15:50 | 1
area1| 11 | 2014-08-10 02:40:09 | 1
area1| 11 | 2014-08-12 00:15:50 | 0
对于特定部分和机器人 ID,我想使用两个单独的列提取机器人处于活动状态和非活动状态的日期。例如对于区域 area1 和
robotid=11,我应该得到这个结果:
机器人_ON |机器人_OFF 2014-08-09 02:40:09 | 2014-08-09 02:55:50 2014-08-10 02:40:09 | 2014-08-12 00:15:50任何帮助我如何编写查询。我试过联合:
select date from robot_state where (active=1 and section ='area1' and robotid=11)
union
select date from robot_state where (active=0 and section ='area1' and robotid=11);
但结果显示在一列中。有两列的想法是稍后计算机器人在每次开始工作时处于活动状态的时间差。
【问题讨论】:
标签: database postgresql join union