2015-03-13 37 views
0

我有兩個表TSQL更新數值爲1,如果最高值的兩個 間表否則爲0

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

回答

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 

我承擔你想比較兩個表格之間的日期,同一產品

相關問題