两个相关表之间的SQL SELECT数据不在特定日期范围内

两个相关表之间的SQL SELECT数据不在特定日期范围内,第1张

两个相关表之间的SQL SELECT数据不在特定日期范围内

感谢大家在这个问题上的帮助。我的最终解决方案是使用

GROUP BY
and
HAVINg
子句。

@Iserni,我不需要

SELECt
在该时间范围内拥有0个报告军官,我可以
SELECT
使用在时间范围之外的所有具有报告的军官或具有空报告的军官
HAVINg

这是我的最终代码:

SELECT Officer.id AS OfficerID, Officer.name, Report.id AS ReportID, max(performanceDate) as maxPerfDate FROM OfficerLEFT JOIN report_officer ON Officer.id = report_officer.officer_idLEFT JOIN Report ON Report.id = report_officer.report_idGROUP BY Officer.id HAVINg maxPerfDate is null OR maxPerfDate < "2014-03-23 00:00:00" ORmaxPerfDate > "2014-04-01 00:00:00";

这样做的好处是,我可以利用performanceDate来报告该官员上次提交报告的时间,或者报告该人员从未创建过报告。建议的所有其他解决方案都取消了检索
人员上次创建报告的时间的 宝贵信息的能力。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5508617.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-13
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存