テナントとユニットの2つのテーブルがあります。
dtleasetoは、テナントテーブルに存在する列です。dtmoveinは、ユニットテーブルに存在する列です。
dtleasetoに存在する日付の月日のみを、dtmoveinの1日前の期間の月日で更新する必要があります。
たとえば、私のdtleasetoが2012年12月20日で、dtmoveinが2011年1月1日であるとすると、更新されたdtleasetoは2012年12月31日になります。
※テナントとユニットの関係はtenant.hunit=unit.hmyです。
よろしくお願いします!!! :)
1 に答える
1
あなたはこのようなものが欲しいかもしれないようです:
UPDATE t
SET dtleaseto = CONVERT(date, CAST(YEAR(t.dtleaseto) AS CHAR(4)) -- Year of dtleaseto
+SUBSTRING(CONVERT(CHAR(8),DATEADD(day,-1,u.dtmovein),112),5,4)) -- MMDD part of dtmovein-1 day
FROM tenant t
JOIN unit u on t.hunit = u.hmy
于 2012-11-02T20:19:45.660 に答える