Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.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
Sql 通过联接表计算一天的时间间隔_Sql_Postgresql - Fatal编程技术网

Sql 通过联接表计算一天的时间间隔

Sql 通过联接表计算一天的时间间隔,sql,postgresql,Sql,Postgresql,我是博士后的初学者。我仍然主要通过解决问题来学习 我有一个PostgreSQL数据库,其中有两个表:trips,其中包含车辆每次出行的信息;以及gps\u points,其中包含每次出行所覆盖的gps点 trips表包含列[id、开始时间、结束时间、车辆id]。gps_points表包含[id、trip_id、纬度、经度]列 如何编写查询以选择2018年1月1日(即从该日期开始和结束)完全包含的行程中4号车辆覆盖的GPS点(纬度和经度)。这应该可以做到: select p.latitude

我是博士后的初学者。我仍然主要通过解决问题来学习

我有一个PostgreSQL数据库,其中有两个表:
trips
,其中包含车辆每次出行的信息;以及
gps\u points
,其中包含每次出行所覆盖的gps点

trips表包含列[id、开始时间、结束时间、车辆id]。gps_points表包含[id、trip_id、纬度、经度]列


如何编写查询以选择2018年1月1日(即从该日期开始和结束)完全包含的行程中4号车辆覆盖的GPS点(纬度和经度)。

这应该可以做到:

select p.latitude
     , p.longitude
  from trips t
  join gps_points p
    on p.trip_id = t.id
 where t.vehicle_id = 4
   and date_trunc('day', t.start_time) = date '2018-01-01'
   and date_trunc('day', t.end_time) = date '2018-01-01'

我想你忘了问一个问题。示例数据和期望的结果也会有很大的帮助。您问题的关键部分不是真正明确的和可重用的,请定义代码块并提供一些数据来表示它。