假设我每年都有一个续订许可证的客户。我如何查询客户在每个部分更新许可证的最后一年...我尝试了这个代码并且它工作正常但突然它只产生了2014年的最大年份,尽管有些客户没有更新他们的自2012年以来的许可证......
SELECT @last_expired_date = MAX(expired_license_date)
FROM entrepreneur
RIGHT OUTER JOIN Firm_info
ON entrepreneur.entre_ID = Firm_info.entre_ID
RIGHT JOIN Section
ON Firm_info.Section_ID = Section.Section_id
RIGHT JOIN license
ON Firm_info.firm_no = license.firm_no
RIGHT JOIN license_operations
ON license.license_serial = license_operations.license_serial
WHERE Section.Section_id = @section_no
GROUP BY license.license_serial
答案 0 :(得分:1)
您需要在SELECT
和GROUP BY
条款中添加客户名称,该条款将为您提供客户列表以及他们续订许可证的最新年份。
作为注释:在连接中使用表名的别名。这有助于确定哪些列来自哪些表。此外,我避免使用RIGHT JOIN
,因为它可能会让您更难理解您获得的数据。