如果两个表之间的最大值为0,则TSQL更新值为1

时间:2015-03-13 07:25:04

标签: tsql max

我有两张桌子

TABLE 1 : Stage_product
PRODUCT_ID      SYS_ROWDATETIMEUTC  
1                2015-03-13 06:09:30.040
2                ....
3


TABLE 2 : DIM_Product
PRODUCT_ID      SYS_ROWSTARTDATETIMEUTC       SYS_ROWISCURRENT
1               2014-03-13 06:09:30.040            0
2               2015-03-13 06:09:30.040            1

我想做一个更新语句,如果第一个表中的值SYS_ROWDATETIMEUTC比表中的值SYS_ROWSTARTDATETIMEUTC更新,那么第二个表中的值SYS_ROWISCURRENT设置为0,否则为1.

1 个答案:

答案 0 :(得分:0)

您可以使用以下查询:

UPDATE t2
SET t2.SYS_ROWISCURRENT = CASE 
                            WHEN t1.SYS_ROWDATETIMEUTC > t2.SYS_ROWSTARTDATETIMEUTC THEN 0
                            ELSE 1
                          END   
FROM Table2 t2
INNER JOIN Table1 t1 ON t2.PRODUCT_ID = t1.PRODUCT_ID

我假设您要比较同一产品的两个表之间的日期。