Sql 查询上次牌照续期
假设我有一个客户每年都有执照续期。我该如何查询客户在过去一年中是否已按部门更新其许可证。。。我尝试了这个代码,它工作得很好,但突然之间,它只产生了2014年这一节中的最大年份,尽管有些客户自2012年以来没有续签他们的许可证Sql 查询上次牌照续期,sql,sql-server-2012,Sql,Sql Server 2012,假设我有一个客户每年都有执照续期。我该如何查询客户在过去一年中是否已按部门更新其许可证。。。我尝试了这个代码,它工作得很好,但突然之间,它只产生了2014年这一节中的最大年份,尽管有些客户自2012年以来没有续签他们的许可证 SELECT @last_expired_date = MAX(expired_license_date) FROM entrepreneur RIGHT OUTER JOIN Firm_info ON entrepreneur.entre_
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
您需要将客户名称添加到您的
选择
和分组依据
子句中,这将为您提供客户列表以及他们最近更新许可证的年份
请注意:对联接中的表名使用别名。这有助于识别哪些列来自哪些表。此外,我避免使用
右连接
,因为这会使您更难理解所获得的数据。但现在我有一个名为payed_fine的列,该列接受客户支付的罚款,并将fine_amt列的值设为0,现在,我为同一个客户端获得两行,一行的payed_fine列值为0,另一行的payed_amt列值为0,如何仅显示payed_amt行,而不是添加到select和group by list,您应该将其放入MAX aggregate函数MAX(payed_fine)
column