2013-02-12 36 views
0

我有一個網站表,其中每個網站的評分介於1和4之間,我也有一個容量表,我希望使用網站表中的評分添加開始日期,例如使用加權將日期添加到表TSQL中

評級爲1的網站開始日期應爲01/05/2010和結束日期30/09/2010
開始日期評級爲2和3的網站應爲01/04/2010和結束日期01/11/2010
評級爲4開始日期的網站應該是2010年1月1日和結束日期31/12/2010

我有幫助前兩列已經存在在下面的e代碼中,我現在需要添加開始日期和結束日期。你能幫我嗎?

USE OCCUPANCY 
CREATE TABLE Cap1 
(PitchType_Skey int, 
Site_Skey int) 

DECLARE @PitchType_Skey INT 
DECLARE @Site_Skey INT 


SET @PitchType_Skey = 1 
SET @Site_Skey = 1 


WHILE (@Site_Skey < 127) 

BEGIN 
    IF @PitchType_Skey = 8 

BEGIN 
    SET @PitchType_Skey = 1 
    SET @Site_Skey = @Site_Skey + 1 
END 

    IF (@Site_Skey < 127) 

BEGIN 
    INSERT INTO dbo.Cap1 (PitchType_Skey, Site_Skey) 
    SELECT @PitchType_Skey, @Site_Skey 
END 

    SET @PitchType_Skey = @PitchType_Skey + 1 

END 

回答

0

在一個命令並且使用ISO日期

INSERT INTO dbo.Cap1 (PitchType_Skey, Site_Skey, StartDate, EndDate) 
SELECT 
    ROW_NUMBER() OVER (ORDER BY Site_Skey), 
    Site_Skey /*from site table column*/, 
    CASE rating 
     WHEN 1 THEN '20100501' 
     WHEN 4 THEN '20100101' 
     ELSE '20100401' 
    END, 
    CASE rating 
     WHEN 1 THEN '20100930' 
     WHEN 4 THEN '201' 
     ELSE '20101101' 
    END 
FROM Site