T-SQL INSERT INTO插入

INSERT INTO dbo.SettlementItems
            ( SettlementID ,
              PriceType ,
              PriceID,
              PriceName ,
              BeginDate ,
              EndDate ,
              UnitPrice ,
              PumpPrice ,
              IdentityPrice ,
              SlurryPrice ,
              TransferPrice ,
              OrderNum
            )
    SELECT      @SettlementID,
              '特性价格',
              T1.IdentitySettingID,
              T1.IdentitySettingID,
              ISNULL(T2.BeginDate, '2016-01-01'),
              NULL,
              ISNULL(T2.IdentityPrice, 0),
              0,
              0,
              0,
              0,
              2
    FROM
    (
        SELECT A.IdentitySettingID FROM dbo.TaskIdentity AS A
        INNER JOIN dbo.ProduceTasks AS B ON A.TaskID = B.TaskID
        INNER JOIN dbo.ShippingDocument AS C ON B.TaskID = C.TaskID
        WHERE B.ContractID=@ContractID
            AND C.ShipDocType='0' AND C.IsEffective=1
            AND C.ProduceDate>=@BeginDate AND C.ProduceDate<@EndDate
        GROUP BY A.IdentitySettingID
    ) AS T1
    LEFT JOIN
    (
        SELECT IdentityName, IdentityPrice, '2016-01-01' AS BeginDate FROM dbo.IdentitySetting WHERE ContractID = @ContractID
        UNION ALL
        SELECT A.ConStrength, A.UnPumpPrice, B.BeginTime AS BeginDate FROM dbo.ContractPriceItem AS A
        INNER JOIN dbo.ContractPrice AS B ON A.ContractPriceID = B.ContractPriceID
        WHERE B.ContractID=@ContractID AND A.AdjustType='PriceAdjustType02'
    ) AS T2 ON T1.IdentitySettingID= T2.IdentityName

posted @ 2017-02-10 09:30  一个粗人  阅读(893)  评论(0)    收藏  举报