select 分析目标.客户名称,分析目标.[2010年任务],回款2010数据.金额 as [2010年已完成],(ISNULL(回款2010数据.金额,1)/分析目标.[2010年任务]) as [2010年完成率],回款200907数据.金额 as [2009年7月完成],((ISNULL(回款2010数据.金额,1)-ISNULL(回款200907数据,1))/ISNULL(回款200907数据,1)) as 同期增长 from 分析目标LEFT OUTER JOIN
(SELECT 回款数据.客户名称, SUM(回款数据.金额) AS 金额 FROM 回款数据 WHERE (回款数据.订货日期 > '2010-1-2') AND (回款数据.订货日期 < '2010-12-31') GROUP BY 回款数据.客户名称) as 回款2010数据 ON 分析目标.客户名称=回款2010数据.客户名称LEFT OUTER JOIN
(SELECT 回款数据.客户名称, SUM(回款数据.金额) AS 金额 FROM 回款数据 WHERE (回款数据.订货日期 > '2009-1-2') AND (回款数据.订货日期 < '2009-7-31') GROUP BY 回款数据.客户名称) as [回款200907数据] ON 分析目标.客户名称=[回款200907数据].客户名称
我是吧同一个表,加工之后,利用as语句,创建一个虚拟表,然后创建字段内容的请问高手.... 同一个表是不是不能多次join哦?...这个到底错在哪里?. 谢谢了!

解决方案 »

  1.   

    /ISNULL([回款 200907数据],1)) as 同期增长中间是否多了个空格
      

  2.   


    --有两处写错了。try:select 分析目标.客户名称,分析目标.[2010年任务],回款2010数据.金额 as [2010年已完成],
    (ISNULL(回款2010数据.金额,1)/分析目标.[2010年任务]) as [2010年完成率],
    回款200907数据.金额 as [2009年7月完成],
    ((ISNULL(回款2010数据.金额,1)-ISNULL(回款200907数据.金额,1))/ISNULL(回款200907数据.金额,1)) as 同期增长 
    from 分析目标LEFT OUTER JOIN
    (SELECT 回款数据.客户名称, SUM(回款数据.金额) AS 金额 FROM 回款数据 WHERE (回款数据.订货日期 > '2010-1-2') AND (回款数据.订货日期 < '2010-12-31') GROUP BY 回款数据.客户名称) as 回款2010数据 ON 分析目标.客户名称=回款2010数据.客户名称LEFT OUTER JOIN
    (SELECT 回款数据.客户名称, SUM(回款数据.金额) AS 金额 FROM 回款数据 WHERE (回款数据.订货日期 > '2009-1-2') AND (回款数据.订货日期 < '2009-7-31') GROUP BY 回款数据.客户名称) as [回款200907数据] ON 分析目标.客户名称=[回款200907数据].客户名称
      

  3.   


    谢谢高手纠正错误, 搞定了, 谢谢哦!
    另外请问一下啊,您那个回复时候的sql code编辑框怎么弄出来的?.  那个颜色比sql server 好看多了...非常适合写代码,想用,谢谢!