记录最新日期,其中日期来自联接表

时间:2019-06-23 22:56:16

标签: sql

我已尝试找到找到的最后一条记录的所有答案,但未能获得成功的结果。我目前有一个列出活动预告片的查询。我只需要为每个预告片条目显示一行,其中该行基于联接表中的日期。

我有桌子 拖车,公司,设备组,运动,停止

为了将预告片连接到停止位置(日期在此处),我必须将其加入设备组,该设备组加入运动,然后又合并到停止位置。

我尝试使用MAX和GROUP BY,以及PARTITION BY,这两个错误都出了。

我在这里尝试了许多解决方案 https://thoughtbot.com/blog/ordering-within-a-sql-group-by-clause https://www.geeksengine.com/article/get-single-record-from-duplicates.html

似乎所有这些解决方案的日期都与它们要分组的对象在同一表中,而我没有。

SELECT
 trailer.*
 company.name, 
 equipment_group.currentmovement_id, 
 equipment_group.company_id, 
 movement.dest_stop_id, stop.location_id, 
 stop.*
FROM trailer 
LEFT OUTER JOIN company ON (company.id = trailer.company_id) 
LEFT OUTER JOIN equipment_group ON (equipment_group.id = 
trailer.currenteqpgrpid) 
LEFT OUTER JOIN movement ON (movement.id = 
equipment_group.currentmovement_id) 
LEFT OUTER JOIN stop ON (stop.id = movement.dest_stop_id)
WHERE trailer.is_active = 'A'

使用MAX和GROUP BY会给出错误“选择列表中无效...未包含在...聚合函数中”

1 个答案:

答案 0 :(得分:0)

Wellllllll,我从没想过要解决这个问题,但是如果我按照两个条件加入机队,那一切都很好。每个额外的记录都是由每个公司ID创建的。公司ID在每个表中。