gpt4 book ai didi

mysql - SQL 查询 - 从一组客户端中过滤最大日期

转载 作者:行者123 更新时间:2023-11-29 07:19:26 27 4
gpt4 key购买 nike

我目前有两张 table ;客户和纳税申报表

客户:

Sysref(PK) FullName
1 ABC Ltd
2 XYZ Ltd

纳税申报表:

CustomerSysref(FK) TaxReturnYear
1 2016
1 2015

作为查询的一部分,我将纳税申报表加入到客户表中。

FROM CUSTOMERS CUS
LEFT JOIN TaxReturns CITR ON CITR.ClientSysRef = CUS.SYSREF

我需要查询最大日期的结果。以上面的示例为例,我需要查询来输出 2016 年的 TaxReturnYear。有人可以指导我吗?

如果我想添加一个where子句,当SubmissionDate等于1900时,该子句不会显示该行?示例;

Tax Returns

CustomerSysref(FK) TaxReturnYear SubmissionDate
1 2016 1900
1 2015 2016

WHERE CITR.SubmissionDate != '1900'

结果是;

2015 年,尽管 2016 年更大,但提交日期是 1900。

需要显示最终结果;

表客户的系统引用和全名

表格纳税申报表中的TaxReturnYear和SubmissionDate

最佳答案

如果我没猜错的话

...
FROM CUSTOMERS CUS
LEFT JOIN
(SELECT CustomerSysref, max(TaxReturnYear) as TaxReturnYear
FROM TaxReturns
WHERE SubmissionDate != '1900'
GROUP BY CustomerSysref ) AS CITR
ON CITR.ClientSysRef = CUS.SYSREF
-- added to get submissionDate
LEFT JOIN TaxReturns tr2
ON CITR.CustomerSysref = tr2.CustomerSysref AND CITR.TaxReturnYear = tr2.TaxReturnYear

根据问题编辑进行更正。

关于mysql - SQL 查询 - 从一组客户端中过滤最大日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36717490/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com