sql - 记录最新日期,其中日期来自连接表
问题描述
我已经尝试了找到最后一条记录的所有答案,但未能获得成功的结果。我目前有一个列出活动预告片的查询。我需要它为每个预告片条目仅显示一行,其中该行基于连接表中的日期。
我有表拖车、公司、设备组、移动、停止
为了将拖车连接到停止(日期所在的位置),我必须将其加入设备组,该设备组加入运动,然后加入停止。
我尝试过使用 MAX 和 GROUP BY 以及 PARTITION BY,这两个都出错了。
我在这里尝试了很多解决方案,以及这些 https://thoughtbot.com/blog/ordering-within-a-sql-group-by-clause https://www.geeksengine.com/article/get-single-记录-来自-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 会给出错误“在选择列表中无效...未包含在...聚合函数中”
解决方案
Welllllll,我从来没有最终弄清楚这一点,但如果我通过两个条件加入到设备组的运动中,一切都很好。每个额外的记录都是由每个公司 ID 创建的......公司 ID 在每个表中。
推荐阅读
- ios - React-Native:Firebase 错误:没有创建 Firebase App [DEFAULT] - 调用 Firebase App.initializeApp() (app/no-app) 站点:stackoverflow.com
- javascript - 如何在反应中将时间戳转换为时间前格式?
- arrays - 如何为状态数组中的每个值创建新状态
- javascript - 为什么背景滤镜:模糊(5px)破坏了我的设计?
- azure - 如何通过 ARM 模板在 Azure 存储帐户上添加加密 AKV
- python - dask - 合并/完整的笛卡尔积 - 内存问题
- postgresql - Homegraph 概念数据库架构权限
- python - 从 .osm 文件创建 Folium 地图
- python - 为什么我在 Python 中的 string.split 返回不需要的值?
- angular - 如何用角度阅读用户谷歌电子表格