0

テナントとユニットの2つのテーブルがあります。

dtleasetoは、テナントテーブルに存在する列です。dtmoveinは、ユニットテーブルに存在する列です。

dtleasetoに存在する日付の月日のみを、dtmoveinの1日前の期間の月日で更新する必要があります。

たとえば、私のdtleasetoが2012年12月20日で、dtmoveinが2011年1月1日であるとすると、更新されたdtleasetoは2012年12月31日になります。

※テナントとユニットの関係はtenant.hunit=unit.hmyです。

よろしくお願いします!!! :)

4

1 に答える 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 に答える