这段 SQL 查询语句从三个表中获取数据并进行合并:\n\n1. 第一个查询语句从"dbo.MachineInfo"表和"MaintainInfo"表中获取数据。如果"MaiType"为空或者为0,并且在子查询中获取的最新的"MaiType=0"的记录中的"MaiMacId"与当前记录的"MaiMacId"相同,则计算当前日期与"MaiTime"之间的天数差作为"Day"列的值,否则为null。\n\n2. 第二个查询语句从"MaintainInfo"表中获取数据。如果"MaiType"为1,并且计算当前日期与"MaiTime"加上7天之间的天数差小于等于3,并且在子查询中获取的最新的"MaiType=1"的记录中的"MaiMacId"与当前记录的"MaiMacId"相同,则计算当前日期与"MaiTime"加上7天之间的天数差作为"Day"列的值。\n\n3. 第三个查询语句从"MaintainInfo"表中获取数据。如果"MaiType"为2,并且计算当前日期与"MaiTime"加上30天之间的天数差小于等于3,并且在子查询中获取的最新的"MaiType=2"的记录中的"MaiMacId"与当前记录的"MaiMacId"相同,则计算当前日期与"MaiTime"加上30天之间的天数差作为"Day"列的值。\n\n最后,将三个查询结果合并为一个结果集。

SQL 查询:获取不同类型维护记录的剩余天数

原文地址: https://www.cveoy.top/t/topic/qbCy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录