计算两个 table 条目之间的天数差异并使用 SQL 服务器在另一个 table 中更新它

To calculate Number of days difference between two tables entries and update it in another table using SQL server

enter image description here我有两个 tables A 和 B,其中 A 仅包含今天的数据,B 包含历史数据, 两个 table 都具有相同的属性 - pcode、product、market、pceneter、date。其中除了 table 的日期外,所有列都具有相同的条目 A 日期是今天的日期,B 日期是 table

中的第一个条目日期

我正在尝试计算 A table 在 B

中可用的记录的日差
Example: Table A 
          code   product   market   center       date      No.of Days
           X1     abcd      IT04     2G        17/9/2021      0
           X1     efgh      ER90     MB        17/9/2021      0
           Y5     ijkl      OK09     MB        17/9/2021      0

Table B 
          code   product   market   center       date
           X1     abcd      IT04     2G        15/9/2021  
           X1     efgh      ER90     MB        16/9/2021 
           X1     abcd      IT04     2G        11/9/2021  
           X1     efgh      ER90     C8        11/9/2021  

预期输出 - Table A 表 B 中可用的每个记录的日期差异应更新天数

Example: Table A 
          code   product   market   center       date      No.of Days
           X1     abcd      IT04     2G        17/9/2021      6
           X1     efgh      ER90     MB        17/9/2021      1
           Y5     ijkl      OK09     MB        17/9/2021      0
my solution:     

1. I grouped the  table B to get the minimum date with other columns.
2. Afterwards, i joined this subquery and table B to match and subtruct dates

注意:我可能会遇到一些语法问题,因为我没有任何数据/table 来测试它。但我希望你明白逻辑......

 select a.*, DATEDIFF(day, a.date, h.date) as no_of_days
      from table_a a
      left join (select code, product, market, center, min(date) date
                   from table_b
                   group by code, product, market, center) h
        on a.code = h.code
       and a.product = h.product
       and a.market = h.market
       and a.center = h.center