blog.Toby

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            130 隨筆 :: 2 文章 :: 150 評論 :: 0 Trackbacks

          insert into CTtemp.dbo.SEC_S_SCO_NEW(guid,pub_dt,creat_tm,updt_tm,rmrk,sec_cd,f0010,f0020,f0030,f0040,f0050,f0060,f0070,f0080,f0090,f0100,f0110,f0120,f0130,f0140,f0150,f0160,f0170,f0180,sum1,sum2,sum3,subsum,totalsum,lasttotal)
          select NEWID() guid, a1.PUB_DT, GETDATE() creat_tm, NULL updt_tm, NULL rmrk, a1.SEC_CD,
           b1.SCORE F0010, b1.SEGMENT F0020, b2.SCORE F0030, b2.SEGMENT F0040, b3.SCORE F0050, b3.SEGMENT F0060,
           c1.SCORE F0070, c1.SEGMENT F0080, c2.SCORE F0090, c2.SEGMENT F0100, c3.SCORE F0110, c3.SEGMENT F0120,
           d1.SCORE F0130, d1.SEGMENT F0140, d2.SCORE F0150, d2.SEGMENT F0160, d3.SCORE F0170, d3.SEGMENT F0180,
           a2.SCORE Sum1, a3.SCORE Sum2, a4.SCORE Sum3, a5.SCORE SubSUM, a1.SCORE TotalSum,e.SCORE LastTotal 
          FROM CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT a1
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT a2 ON a1.SEC_CD=a2.SEC_CD AND a1.pub_dt=a2.pub_dt AND a2.SCO_ID='0101'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT a3 ON a1.SEC_CD=a3.SEC_CD AND a1.pub_dt=a3.pub_dt AND a3.SCO_ID='0102'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT a4 ON a1.SEC_CD=a4.SEC_CD AND a1.pub_dt=a4.pub_dt AND a4.SCO_ID='0103'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT a5 ON a1.SEC_CD=a5.SEC_CD AND a1.pub_dt=a5.pub_dt AND a5.SCO_ID='0104'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT b1 ON a1.SEC_CD=b1.SEC_CD AND a1.pub_dt=b1.pub_dt AND b1.SCO_ID='010101'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT b2 ON a1.SEC_CD=b2.SEC_CD AND a1.pub_dt=b2.pub_dt AND b2.SCO_ID='010102'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT b3 ON a1.SEC_CD=b3.SEC_CD AND a1.pub_dt=b3.pub_dt AND b3.SCO_ID='010103'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT c1 ON a1.SEC_CD=c1.SEC_CD AND a1.pub_dt=c1.pub_dt AND c1.SCO_ID='010201'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT c2 ON a1.SEC_CD=c2.SEC_CD AND a1.pub_dt=c2.pub_dt AND c2.SCO_ID='010202'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT c3 ON a1.SEC_CD=c3.SEC_CD AND a1.pub_dt=c3.pub_dt AND c3.SCO_ID='010203'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT d1 ON a1.SEC_CD=d1.SEC_CD AND a1.pub_dt=d1.pub_dt AND d1.SCO_ID='010301'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT d2 ON a1.SEC_CD=d2.SEC_CD AND a1.pub_dt=d2.pub_dt AND d2.SCO_ID='010302'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT d3 ON a1.SEC_CD=d3.SEC_CD AND a1.pub_dt=d3.pub_dt AND d3.SCO_ID='010303'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT e ON a1.SEC_CD=e.SEC_CD AND e.pub_dt=(SELECT min(PUB_DT) FROM (select top 2 pub_dt from CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT where sco_id='01' order by pub_dt desc) a) AND e.SCO_ID=a1.SCO_ID
          WHERE a1.SCO_ID='01'
           AND a1.PUB_DT = (SELECT max(PUB_DT) FROM CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT)


          ----------------
          出錯:
          消息 8180,級別 16,狀態 1,第 1 行
          未能準備語句。
          消息 207,級別 16,狀態 3,第 1 行
          列名 'Col2201' 無效。
          消息 207,級別 16,狀態 3,第 1 行
          列名 'Col2204' 無效。

          把最后left join 改為inner join 就可以了。
          --------------------------------------------------------------------------------------------------------------------------

          insert into CTtemp.dbo.SEC_S_SCO_NEW(guid,pub_dt,creat_tm,updt_tm,rmrk,sec_cd,f0010,f0020,f0030,f0040,f0050,f0060,f0070,f0080,f0090,f0100,f0110,f0120,f0130,f0140,f0150,f0160,f0170,f0180,sum1,sum2,sum3,subsum,totalsum,lasttotal)
          select NEWID() guid, a1.PUB_DT, GETDATE() creat_tm, NULL updt_tm, NULL rmrk, a1.SEC_CD,
           b1.SCORE F0010, b1.SEGMENT F0020, b2.SCORE F0030, b2.SEGMENT F0040, b3.SCORE F0050, b3.SEGMENT F0060,
           c1.SCORE F0070, c1.SEGMENT F0080, c2.SCORE F0090, c2.SEGMENT F0100, c3.SCORE F0110, c3.SEGMENT F0120,
           d1.SCORE F0130, d1.SEGMENT F0140, d2.SCORE F0150, d2.SEGMENT F0160, d3.SCORE F0170, d3.SEGMENT F0180,
           a2.SCORE Sum1, a3.SCORE Sum2, a4.SCORE Sum3, a5.SCORE SubSUM, a1.SCORE TotalSum,e.SCORE LastTotal 
          FROM CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT a1
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT a2 ON a1.SEC_CD=a2.SEC_CD AND a1.pub_dt=a2.pub_dt AND a2.SCO_ID='0101'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT a3 ON a1.SEC_CD=a3.SEC_CD AND a1.pub_dt=a3.pub_dt AND a3.SCO_ID='0102'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT a4 ON a1.SEC_CD=a4.SEC_CD AND a1.pub_dt=a4.pub_dt AND a4.SCO_ID='0103'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT a5 ON a1.SEC_CD=a5.SEC_CD AND a1.pub_dt=a5.pub_dt AND a5.SCO_ID='0104'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT b1 ON a1.SEC_CD=b1.SEC_CD AND a1.pub_dt=b1.pub_dt AND b1.SCO_ID='010101'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT b2 ON a1.SEC_CD=b2.SEC_CD AND a1.pub_dt=b2.pub_dt AND b2.SCO_ID='010102'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT b3 ON a1.SEC_CD=b3.SEC_CD AND a1.pub_dt=b3.pub_dt AND b3.SCO_ID='010103'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT c1 ON a1.SEC_CD=c1.SEC_CD AND a1.pub_dt=c1.pub_dt AND c1.SCO_ID='010201'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT c2 ON a1.SEC_CD=c2.SEC_CD AND a1.pub_dt=c2.pub_dt AND c2.SCO_ID='010202'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT c3 ON a1.SEC_CD=c3.SEC_CD AND a1.pub_dt=c3.pub_dt AND c3.SCO_ID='010203'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT d1 ON a1.SEC_CD=d1.SEC_CD AND a1.pub_dt=d1.pub_dt AND d1.SCO_ID='010301'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT d2 ON a1.SEC_CD=d2.SEC_CD AND a1.pub_dt=d2.pub_dt AND d2.SCO_ID='010302'
          LEFT JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT d3 ON a1.SEC_CD=d3.SEC_CD AND a1.pub_dt=d3.pub_dt AND d3.SCO_ID='010303'
          INNER JOIN CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT e ON a1.SEC_CD=e.SEC_CD AND e.pub_dt=(SELECT max(PUB_DT) FROM CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT where sco_id=a1.SCO_ID and pub_dt<a1.pub_dt) AND e.SCO_ID=a1.SCO_ID
          WHERE a1.SCO_ID='01'
           AND a1.PUB_DT = (SELECT max(PUB_DT) FROM CDW_SRV.WD_10_SEL.dbo.SCORE_D_FACT)
          posted on 2007-04-07 10:23 渠上月 閱讀(413) 評論(2)  編輯  收藏 所屬分類: sql (sqlServer)

          評論

          # re: 奇怪的問題 一條 SQL 2007-08-30 20:59 天野
          我也出現過一樣的錯誤,只不過我是把INNER 改成 LEFT
          這是怎么回事  回復  更多評論
            

          # re: 奇怪的問題 一條 SQL 2007-08-30 20:59 天野
          qutianye@sina.com
          請給我寫信告訴我為什么好么?  回復  更多評論
            

          主站蜘蛛池模板: 临邑县| 大田县| 墨脱县| 浦东新区| 延川县| 新龙县| 康平县| 怀集县| 雷山县| 巴林右旗| 偃师市| 夏邑县| 阳东县| 巨野县| 郓城县| 肥东县| 江源县| 翼城县| 阳城县| 灯塔市| 温宿县| 广宁县| 莆田市| 平遥县| 遵义县| 繁昌县| 白银市| 安平县| 安宁市| 乌兰浩特市| 灵丘县| 宁陵县| 白银市| 阿巴嘎旗| 旺苍县| 红桥区| 旌德县| 宝兴县| 武功县| 循化| 丽水市|