zoukankan      html  css  js  c++  java
  • 批量添加、批量修改

    --查询满足条件数据
    DECLARE @Table NVARCHAR(10)
    SELECT @Table=ItemValue FROM dbo.Sys_SysParameterItems WHERE SysParameterKeyId='6F74A9E3-8346-4BFE-81A3-C30547542FE2' AND itemno='70'
    IF @Table='A'
    BEGIN
    --查询当日满足条件的房源信息
    SELECT DISTINCT NEWID()Id ,P.KeyId AS PropertyKeyId,p.PropertyStatusCategory,p.TrustType,P.PropertyNo AS bianhao,er.ChannelValue,
    estate.EstateName+' '+CONVERT(VARCHAR, p.CountF)+'室'+CONVERT(VARCHAR,p.CountT)+'厅'+CONVERT(VARCHAR,p.CountW) +'卫 '+ISNULL(att.AttName,'') AS title,
    p.CountF,p.CountT,p.CountW,bul.FloorAll,p.Floor,p.Square,ISNULL(chaox.ItemName,'其他') AS ItemName,(CASE WHEN year(convert(datetime,bul.CompleteYear))='1900' THEN '1901' ELSE year(convert(datetime,bul.CompleteYear))END ) as CompleteYear,ISNULL(zhuangxiu.ItemName,'毛坯') AS zhuangxiuqingkuang,
    ISNULL( yongtu.ItemName,'其他') AS fangwuleixing,bul.BuildingName AS loudong,bul.BuildingName as danyuan,h.HouseNo AS menpaihao,
    bul.BuildingName AS loudongdanwei,bul.BuildingName AS danyuandanwei,
    (CASE WHEN p.TrustType=1 THEN sale.SalePrice*10000 WHEN p.TrustType=3 THEN sale.SalePrice*10000 ELSE NULL END) jiage,
    (CASE WHEN p.TrustType=2 THEN rent.RentPrice WHEN p.TrustType=3 THEN rent.RentPrice ELSE NULL END) rentjiage,
    (case when p.TrustType=1 THEN (SELECT TOP 1 LEFT(pe.PropertySaleAssess,300) FROM Pro_PropertyExpands pe WHERE pe.PropertyKeyId=p.KeyId AND pe.Type=1)
    when p.TrustType=3 THEN (SELECT TOP 1 LEFT(pe.PropertySaleAssess,300) FROM Pro_PropertyExpands pe WHERE pe.PropertyKeyId=p.KeyId AND pe.Type=1) ELSE NULL END) fangyuanxiangqing,
    (case when p.TrustType=2 THEN (SELECT TOP 1 LEFT(pe.PropertyAssess,300) FROM Pro_PropertyExpands pe WHERE pe.PropertyKeyId=p.KeyId AND pe.Type=1)
    when p.TrustType=3 THEN (SELECT TOP 1 LEFT(pe.PropertyAssess,300) FROM Pro_PropertyExpands pe WHERE pe.PropertyKeyId=p.KeyId AND pe.Type=1) ELSE NULL END) rentfangyuanxiangqing,
    (CASE WHEN p.TrustType=2 THEN 1 WHEN p.TrustType=3 THEN 1 ELSE NULL END) rentType,
    (CASE WHEN p.TrustType=2 THEN fukuan.ItemName WHEN p.TrustType=3 THEN fukuan.ItemName ELSE NULL END) paymentTerms,
    GETDATE() AS CreateTime,GETDATE() AS UpdateTime
    INTO #temp
    FROM [dbo].[VW_Adm_A_PushPropertys] p
    LEFT JOIN dbo.Est_Estates estate ON estate.KeyId=p.EstateKeyId
    LEFT JOIN dbo.Est_Buildings bul ON bul.KeyId=p.BuildingKeyId
    LEFT JOIN dbo.Est_Houses h ON h.KeyId=p.HouseKeyId
    LEFT JOIN [dbo].[Est_EstateParameterRelations] er ON p.EstateKeyId=er.EstateKeyId AND er.SysParameterItemKeyId='B5A6301D-EA27-4B41-B24E-857DB33C4CC6'
    LEFT JOIN dbo.Sys_SysParameterItems chaox ON p.HouseDirectionKeyId=chaox.KeyId
    LEFT JOIN dbo.Sys_SysParameterItems zhuangxiu ON zhuangxiu.KeyId=p.DecorationSituationKeyId
    LEFT JOIN dbo.Sys_SysParameterItems yongtu ON yongtu.KeyId=p.PropertyUsageKeyId
    LEFT JOIN VW_Adm_A_property_Attribute att ON att.keyid=p.KeyId
    LEFT JOIN dbo.Pro_RentTrusts rent ON rent.PropertyKeyId=p.KeyId
    LEFT JOIN dbo.Pro_SaleTrusts sale ON sale.PropertyKeyId=p.KeyId
    LEFT JOIN dbo.Sys_SysParameterItems fukuan ON fukuan.KeyId=rent.PropertyRentPaymentTypeKeyId
    LEFT JOIN dbo.Adm_PushProperty push ON push.PropertyKeyId=p.KeyId
    WHERE push.KeyId IS NULL AND p.IsDelete=0 AND p.PropertyStatusCategory = 1
    AND yongtu.KeyId IN('690b45f8-5450-4c26-b3cc-2ffa24d5e2ef','55c74e49-07bb-c488-faeb-08d2f60a03e8','3854d76d-1a9c-41ad-8443-381e4df1d60f','24990581-27dd-4690-9359-73fe6911b033','19961612-b328-44c3-bf36-9e5bf8ebc694','d21842b6-de49-4d2f-8838-a252b4e41fab','942069b8-87ea-4e9e-bfb6-b9ba31b3a3a4','6ea6f89e-3e4d-4f64-a14e-c8fea294caab','e5a98685-f85f-cff9-faeb-08d2f60a03e8')
    AND p.EstateKeyId NOT IN('a9f870b4-e5cb-4b26-aca4-8329cb406ee8')
    --插入到推送表
    SELECT COUNT(1) FROM #temp
    if @@rowcount>0
    BEGIN
    INSERT INTO dbo.Adm_PushProperty
    ( KeyId ,PropertyKeyId ,PropertyStatusCategory , TrustType ,
    bianhao ,xiaoquId ,title , shi , ting ,
    wei ,zonglouceng ,suozailouceng ,mianji ,chaoxiang ,
    jianzhuniandai ,zhuangxiuqingkuang , fangwuleixing ,loudong ,
    danyuan ,menpaihao , loudongdanwei , danyuandanwei , jiage ,
    rentjiage , fangyuanxiangqing , rentfangyuanxiangqing , rentType ,
    paymentTerms ,
    CreateTime ,
    UpdateTime
    )
    SELECT * FROM #temp
    END
    --查询满足条件房源修改到推送表中
    SELECT DISTINCT NEWID()Id ,P.KeyId AS PropertyKeyId,p.PropertyStatusCategory,p.TrustType,P.PropertyNo AS bianhao,er.ChannelValue,
    (estate.EstateName+' '+CONVERT(VARCHAR, p.CountF)+'室'+CONVERT(VARCHAR,p.CountT)+'厅'+CONVERT(VARCHAR,p.CountW) +'卫 ')+ISNULL(att.AttName,'') AS title,
    p.CountF,p.CountT,p.CountW,bul.FloorAll,p.Floor,p.Square,ISNULL(chaox.ItemName,'其他') AS chaox,(CASE WHEN year(convert(datetime,bul.CompleteYear))='1900' THEN '1901' ELSE year(convert(datetime,bul.CompleteYear))END ) as CompleteYear,ISNULL(zhuangxiu.ItemName,'毛坯') AS zhuangxiuqingkuang,
    ISNULL( yongtu.ItemName,'其他') AS fangwuleixing,bul.BuildingName AS loudong,bul.BuildingName as danyuan,h.HouseNo AS menpaihao,
    bul.BuildingName AS loudongdanwei,bul.BuildingName AS danyuandanwei,
    (CASE WHEN p.TrustType=1 THEN sale.SalePrice*10000 WHEN p.TrustType=3 THEN sale.SalePrice*10000 ELSE NULL END) jiage,
    (CASE WHEN p.TrustType=2 THEN rent.RentPrice WHEN p.TrustType=3 THEN rent.RentPrice ELSE NULL END) rentjiage,
    (case when p.TrustType=1 THEN (SELECT TOP 1 LEFT(pe.PropertySaleAssess,300) FROM Pro_PropertyExpands pe WHERE pe.PropertyKeyId=p.KeyId AND pe.Type=1)
    when p.TrustType=3 THEN (SELECT TOP 1 LEFT(pe.PropertySaleAssess,300) FROM Pro_PropertyExpands pe WHERE pe.PropertyKeyId=p.KeyId AND pe.Type=1) ELSE NULL END) fangyuanxiangqing,
    (case when p.TrustType=2 THEN (SELECT TOP 1 LEFT(pe.PropertyAssess,300) FROM Pro_PropertyExpands pe WHERE pe.PropertyKeyId=p.KeyId AND pe.Type=1)
    when p.TrustType=3 THEN (SELECT TOP 1 LEFT(pe.PropertyAssess,300) FROM Pro_PropertyExpands pe WHERE pe.PropertyKeyId=p.KeyId AND pe.Type=1) ELSE NULL END) rentfangyuanxiangqing,
    (CASE WHEN p.TrustType=2 THEN 1 WHEN p.TrustType=3 THEN 1 ELSE NULL END) rentType,
    (CASE WHEN p.TrustType=2 THEN fukuan.ItemName WHEN p.TrustType=3 THEN fukuan.ItemName ELSE NULL END) paymentTerms,
    GETDATE() AS CreateTime,GETDATE() AS UpdateTime
    INTO #updateTemp
    FROM [dbo].[VW_Adm_A_PushPropertys] p
    LEFT JOIN VW_Adm_PushProperty_ActionHistoryLogs viewPush ON viewPush.SourceObjectKeyId=p.KeyId
    LEFT JOIN dbo.Est_Estates estate ON estate.KeyId=p.EstateKeyId
    LEFT JOIN dbo.Est_Buildings bul ON bul.KeyId=p.BuildingKeyId
    LEFT JOIN dbo.Est_Houses h ON h.KeyId=p.HouseKeyId
    LEFT JOIN [dbo].[Est_EstateParameterRelations] er ON p.EstateKeyId=er.EstateKeyId AND er.SysParameterItemKeyId='B5A6301D-EA27-4B41-B24E-857DB33C4CC6'
    LEFT JOIN dbo.Sys_SysParameterItems chaox ON p.HouseDirectionKeyId=chaox.KeyId
    LEFT JOIN dbo.Sys_SysParameterItems zhuangxiu ON zhuangxiu.KeyId=p.DecorationSituationKeyId
    LEFT JOIN dbo.Sys_SysParameterItems yongtu ON yongtu.KeyId=p.PropertyUsageKeyId
    LEFT JOIN VW_Adm_A_property_Attribute att ON att.keyid=p.KeyId
    LEFT JOIN dbo.Pro_RentTrusts rent ON rent.PropertyKeyId=p.KeyId
    LEFT JOIN dbo.Pro_SaleTrusts sale ON sale.PropertyKeyId=p.KeyId
    LEFT JOIN dbo.Sys_SysParameterItems fukuan ON fukuan.KeyId=rent.PropertyRentPaymentTypeKeyId
    RIGHT JOIN dbo.Adm_PushProperty push ON push.PropertyKeyId=p.KeyId
    LEFT JOIN #temp temp ON temp.PropertyKeyId=push.PropertyKeyId
    WHERE p.KeyId IS NOT NULL AND temp.PropertyKeyId IS NULL
    AND (DATEDIFF(mi, push.UpdateTime,viewPush.CreateTime ) > 1 or push.xiaoquId!=er.ChannelValue)
    AND yongtu.KeyId IN('690b45f8-5450-4c26-b3cc-2ffa24d5e2ef','55c74e49-07bb-c488-faeb-08d2f60a03e8','3854d76d-1a9c-41ad-8443-381e4df1d60f','24990581-27dd-4690-9359-73fe6911b033','19961612-b328-44c3-bf36-9e5bf8ebc694','d21842b6-de49-4d2f-8838-a252b4e41fab','942069b8-87ea-4e9e-bfb6-b9ba31b3a3a4','6ea6f89e-3e4d-4f64-a14e-c8fea294caab','e5a98685-f85f-cff9-faeb-08d2f60a03e8')--AND ISNULL(att.AttName,'') IS NOT NULL
    AND p.EstateKeyId NOT IN('a9f870b4-e5cb-4b26-aca4-8329cb406ee8')
    --修改推送表数据
    SELECT COUNT(1) FROM #temp
    if @@rowcount>0
    BEGIN
    UPDATE push
    SET push.PropertyStatusCategory=t.PropertyStatusCategory,
    push.TrustType=t.TrustType,
    push.bianhao=t.bianhao,
    push.xiaoquId=t.ChannelValue,
    push.title=t.title,
    push.shi=t.CountF,
    push.ting=t.CountT,
    push.wei=t.CountW,
    push.zonglouceng=t.FloorAll,
    push.suozailouceng=t.Floor,
    push.mianji=t.Square,
    push.chaoxiang=t.chaox,
    push.jianzhuniandai=t.CompleteYear,
    push.zhuangxiuqingkuang=t.zhuangxiuqingkuang,
    push.fangwuleixing=t.fangwuleixing,
    push.loudong=t.loudong,
    push.danyuan=t.danyuan,
    push.menpaihao=t.menpaihao,
    push.loudongdanwei=t.loudongdanwei,
    push.danyuandanwei=t.danyuandanwei,
    push.jiage=t.jiage,
    push.rentjiage=t.rentjiage,
    push.fangyuanxiangqing=t.fangyuanxiangqing,
    push.rentfangyuanxiangqing=t.rentfangyuanxiangqing,
    push.rentType=t.rentType,
    push.paymentTerms=t.paymentTerms,
    push.UpdateTime=GETDATE()
    FROM dbo.Adm_PushProperty push, #updateTemp T
    WHERE t.PropertyKeyId=push.PropertyKeyId
    END
    DROP TABLE #temp
    DROP TABLE #updateTemp
    END

  • 相关阅读:
    23. 霍纳法则(多项式求值快速算法)
    22. 欧几里德算法(求最大公约数GCD)
    [poj 2106] Boolean Expressions 递归
    [poj 1185] 炮兵阵地 状压dp 位运算
    [MOOC程序设计与算法二] 递归二
    [poj 3254] Corn Fields 状压dp
    [hdu 1074] Doing Homework 状压dp
    [hdu 1568] Fibonacci数列前4位
    [haut] 1281: 邪能炸弹 dp
    [hdu 2604] Queuing 递推 矩阵快速幂
  • 原文地址:https://www.cnblogs.com/starts/p/11345077.html
Copyright © 2011-2022 走看看