我有 2 个包含以下信息的表。不幸的是,我对 JOINS 和 MySQL 的基本知识并没有帮助我实现我需要的结果集……尤其是第 3 点让我望而却步。任何帮助是极大的赞赏。
订单
OrderID OrderDate Client Country
68349 1/1/2018 GSC Ltd US
93909 1/1/2018 XYZ Ltd UK
39900 3/31/2018 ABC Ltd US
69382 4/4/2018 ABC Ltd US
94500 6/21/2018 DEF Ltd US
93911 1/1/2018 TUV Ltd UK
报告
RepID State RepDate Building OrderID
1 AK 1/1/2018 PE James 93909
2 CA 4/2/2018 PE Grid 93909
3 CA 3/31/2018 PMU Jaya 39900
4 WA 4/4/2018 PMU Taman 69382
5 CA 6/21/2018 PE Grid 94500
6 CA 3/31/2018 PMU Wate 39900
我需要选择所有基于:
- 选择国家/地区 = 美国的订单
- 选择属于这些美国订单的报告(即订单 ID = 来自上述结果的订单 ID)
- 最重要的是:过滤报告的结果,使其仅显示每个建筑物的单个最新报告(基于最近的 RepDate)
所以结果将是:
OrderID OrderDate Client Country RepID RepDate Building
68349 1/1/2018 GSC Ltd US - - -
39900 3/31/2018 ABC Ltd US 3 3/31/2018 PMU Jaya
69382 4/4/2018 ABC Ltd US 4 4/4/2018 PMU Taman
94500 6/21/2018 DEF Ltd US 5 6/21/2018 PE Grid
以下结果将被排除,因为“PE Grid”有更新的报告:
OrderID OrderDate Client Country RepID RepDate Building
39900 3/31/2018 ABC Ltd US 6 3/31/2018 PE Grid