【发布时间】:2011-03-16 15:43:03
【问题描述】:
我正在尝试填充一个包含未来 35 年每个日期的日期表,其中包含有关每一天的信息。
我的 ERP 系统有一个会计年度表 (GLRULE),它指定了每个特定年份的会计期间,因为许多公司不按日历月工作。
GLRule 表包含每个时期的一条记录,如下所示:
fcbasis fcname fcstatus fdend fdstart flisadjust flisaudit fnnumber freval identity_column
A FY 2000 C 1/28/2000 0:00:00 1/1/2000 0:00:00 FALSE FALSE 1 FALSE 37
A FY 2000 C 2/25/2000 0:00:00 1/29/2000 0:00:00 FALSE FALSE 2 FALSE 38
A FY 2000 C 3/31/2000 0:00:00 2/26/2000 0:00:00 FALSE FALSE 3 FALSE 39
A FY 2000 C 4/28/2000 0:00:00 4/1/2000 0:00:00 FALSE FALSE 4 FALSE 40
A FY 2000 C 5/26/2000 0:00:00 4/29/2000 0:00:00 FALSE FALSE 5 FALSE 41
A FY 2000 C 6/30/2000 0:00:00 5/27/2000 0:00:00 FALSE FALSE 6 FALSE 42
无论如何,我可以使用类似这样的查询一次更新我的日期表一个字段:
UPDATE redfridaydates.dbo.testdates
SET [FISCAL_PERIOD] =
(SELECT fnnumber
FROM m2mdata01..glrule GLR
where DATE >= GLR.FDSTART and DATE <= GLR.FDEND)
有没有更好的方法来一次更新多个字段?我不确定我该怎么做,因为我没有加入。
【问题讨论】:
-
格式化代码时请不要使用制表符。
-
@Chadwick:谢谢纠正格式!
-
对不起,我没有使用标签,我从 Excel 电子表格中复制并粘贴了它。
标签: sql sql-server tsql sql-server-2000