select 
 a.HINCD as 商品CD
,a.KANRICD as 管理CD
,GI19TM_002.calcdy as 出荷日
,a.KIKISCD as 期层
,a.OLDSKADY as 元出荷日
,ISNULL(a.SKAKBN,0) as 出荷区分
,ISNULL(a.SKASRY,0) as 出荷当日数
from 
(select HINCD as 商品CD
,KANRICD as 管理CD
,GI19TM_002.calcdy as 出荷日
,KIKISCD as 期层
,OLDSKADY as 元出荷日
,SKAKBN as 出荷区分
,sum(SKASRY) as 出荷当日数
from GI19TW_104  as a 
where a.SKAKBN ='0'
group by a.HINCD,a.KANRICD,a.KIKISCD,GI19TM_002.calcdy,a.OLDSKADY,a.SKAKBN)right outer join GI19TM_002 on
a.SKADY=GI19TM_002.calcdy 
where 
GI19TM_002.KASHOCD='021'
and GI19TM_002.KASHOKBN='2'求大虾们帮着看看 这条语句到底哪错了

解决方案 »

  1.   

    from  
    (select HINCD as 商品CD
    ,KANRICD as 管理CD
    ,GI19TM_002.calcdy as 出荷日
    ,KIKISCD as 期层
    ,OLDSKADY as 元出荷日
    ,SKAKBN as 出荷区分
    ,sum(SKASRY) as 出荷当日数
    from GI19TW_104 as a  
    where a.SKAKBN ='0'
    group by a.HINCD,a.KANRICD,a.KIKISCD,GI19TM_002.calcdy,a.OLDSKADY,a.SKAKBN)aright outer join GI19TM_002 on
      

  2.   

    select  
     a.HINCD as 商品CD
    ,a.KANRICD as 管理CD
    ,GI19TM_002.calcdy as 出荷日
    ,a.KIKISCD as 期层
    ,a.OLDSKADY as 元出荷日
    ,ISNULL(a.SKAKBN,0) as 出荷区分
    ,ISNULL(a.SKASRY,0) as 出荷当日数
    from  
    (select HINCD as 商品CD
    ,KANRICD as 管理CD
    ,GI19TM_002.calcdy as 出荷日
    ,KIKISCD as 期层
    ,OLDSKADY as 元出荷日
    ,SKAKBN as 出荷区分
    ,sum(SKASRY) as 出荷当日数
    from GI19TW_104 as a  
    where a.SKAKBN ='0'
    group by a.HINCD,a.KANRICD,a.KIKISCD,GI19TM_002.calcdy,a.OLDSKADY,a.SKAKBN)t--别名right outer join GI19TM_002 on
    a.SKADY=GI19TM_002.calcdy  
    where  
    GI19TM_002.KASHOCD='021'
    and GI19TM_002.KASHOKBN='2'
      

  3.   

    按照你们的加完别名了
    select 
     a.HINCD as 商品CD
    ,a.KANRICD as 管理CD
    --,GI19TM_002.calcdy as 出荷日
    ,a.KIKISCD as 期階層
    ,a.OLDSKADY as 元出荷日
    ,ISNULL(a.SKAKBN,0) as 出荷区分
    ,ISNULL(a.SKASRY,0) as 出荷当日数
    from 
    (select HINCD as 商品CD
    ,KANRICD as 管理CD
    --,GI19TM_002.calcdy as 出荷日
    ,KIKISCD as 期階層
    ,OLDSKADY as 元出荷日
    ,SKAKBN as 出荷区分
    ,sum(SKASRY) as 出荷当日数
    from GI19TW_104   where a.SKAKBN ='0'
    group by a.HINCD,a.KANRICD,a.KIKISCD--,GI19TM_002.calcdy
    ,a.OLDSKADY,a.SKAKBN) as a 
    right outer join GI19TM_002 on
    --
    a.SKADY=GI19TM_002.calcdy 
    where 
    GI19TM_002.KASHOCD='021'
    and GI19TM_002.KASHOKBN='2'
    可还是出错  a.HINCD 这不能识别
      

  4.   

    还有就是说 a.HINCD 列无效
      

  5.   

    select a.HINCD from (select HINCD as 商品CD from GI19TW_104 ) as a这句简单的就出错。。说a.HINCD 无效
      

  6.   

    HINCD as 商品CD你已经把列名换了,要用 商品CD
      

  7.   

    select * from (select HINCD as 商品CD from GI19TW_104 ) as a
     这么写就没错  为什么阿
      

  8.   


    select  
     a.商品CD
    ,a.管理CD
    --,GI19TM_002.calcdy as 出荷日
    ,a.期階層
    ,a.元出荷日
    ,ISNULL(a.出荷区分,0) as 出荷区分
    ,ISNULL(a.出荷当日数,0) as 出荷当日数
    from  
    (select HINCD as 商品CD
    ,KANRICD as 管理CD
    ,KIKISCD-- as 期階層
    ,OLDSKADY as 元出荷日
    ,SKAKBN as 出荷区分
    ,sum(SKASRY) as 出荷当日数
    ,SKADY
    from GI19TW_104 where SKAKBN ='0'
    group by HINCD,KANRICD,KIKISCD--,OLDSKADY,SKAKBN) as a  
    right outer join GI19TM_002 on
    --
    a.SKADY=GI19TM_002.calcdy  
    where  
    GI19TM_002.KASHOCD='021'
    and GI19TM_002.KASHOKBN='2'
      

  9.   

    select a.商品CD from (select HINCD as 商品CD from GI19TW_104 ) as a
      

  10.   

    最好给一些测试数据,把想要什么结果也写出来。在原有SQL上修改,太麻烦了
      

  11.   

    select 
     a.HINCD
    ,a.KANRICD
    ,GI19TM_002.calcdy
    ,a.KIKISCD
    ,a.OLDSKADY 
    ,ISNULL(a.SKAKBN,0) 
    ,ISNULL(a.SKASRY,0) 
    from 
    (select HINCD 
    ,KANRICD 
    ,GI19TM_002.calcdy 
    ,KIKISCD 
    ,OLDSKADY 
    ,SKAKBN 
    ,sum(SKASRY) 
    from GI19TW_104 where a.SKAKBN ='0'
    group by a.HINCD,a.KANRICD,a.KIKISCD,GI19TM_002.calcdy
    ,a.OLDSKADY,a.SKAKBN) as a
    right outer join GI19TM_002 on
    --
    a.SKADY=GI19TM_002.calcdy 
    where 
    GI19TM_002.KASHOCD='021'
    and GI19TM_002.KASHOKBN='2'可是 我这么写 还是不对啊。。
    能不能帮我改写以下
      

  12.   

    select 
     *
    from 
    (select HINCD as 商品CD
    ,KANRICD as 管理CD
    ,GI19TM_002.calcdy as 出荷日,KIKISCD as 期階層
    ,OLDSKADY as 元出荷日
    ,SKAKBN as 出荷区分
    ,sum(SKASRY) as 出荷当日数
    from GI19TW_104 where SKAKBN ='0'
    group by HINCD,KANRICD,KIKISCD,GI19TM_002.calcdy
    ,OLDSKADY,SKAKBN) as a
    right outer join GI19TM_002 onSKADY=GI19TM_002.calcdy 
    where 
    GI19TM_002.KASHOCD='021'
    and GI19TM_002.KASHOKBN='2'
     我已经改成这个样子了。。就差一点就要实现了。。红色的两个地方出错。。不知道是什么原因
      

  13.   


    select  
     a.商品CD
    ,a.管理CD
    ,GI19TM_002.calcdy as 出荷日
    ,a.期階層
    ,a.元出荷日
    ,ISNULL(a.出荷区分,0) as 出荷区分
    ,ISNULL(a.出荷当日数,0) as 出荷当日数
    from  
    (select HINCD as 商品CD
    ,KANRICD as 管理CD
    ,KIKISCD as 期階層
    ,OLDSKADY as 元出荷日
    ,SKAKBN as 出荷区分
    ,sum(SKASRY) as 出荷当日数
    ,SKADY
    from GI19TW_104 where SKAKBN ='0'
    group by HINCD,KANRICD,KIKISCD,OLDSKADY,SKAKBN,SKADY) as a  
    right outer join GI19TM_002 on
    a.SKADY=GI19TM_002.calcdy  
    where  
    GI19TM_002.KASHOCD='021'
    and GI19TM_002.KASHOKBN='2'试试行不行
      

  14.   

    1。GI19TM_002.calcdy 说不能识别
    2。 SKADY 无效
    怎么修改好啊
      

  15.   

    select 
     a.HINCD 
    ,a.KANRICD 
    ,GI19TM_002.calcdy as 出荷日,a.KIKISCD 
    ,a.OLDSKADY 
    ,ISNULL(a.SKAKBN,0) 
    ,ISNULL(a.SKASRY,0) 
    from 
    (select HINCD 
    ,KANRICD 
    ,GI19TM_002.calcdy as 出荷日
    ,KIKISCD 
    ,OLDSKADY 
    ,ISNULL(SKAKBN,0) as SKAKBN
    ,sum(ISNULL(SKASRY,0)) as SKASRY
    from GI19TW_104 where SKAKBN ='0'
    group by HINCD,KANRICD,KIKISCD--,GI19TM_002.calcdy
    ,OLDSKADY,SKAKBN) as a
    right outer join GI19TM_002 on
    SKADY=GI19TM_002.calcdy 
    where 
    GI19TM_002.KASHOCD='021'
    and GI19TM_002.KASHOKBN='2'还是红色的部分出错
      

  16.   

    select 
     t.HINCD 
    ,t.KANRICD 
    ,t.SKADY as 出荷日1
    ,GI19TM_002.calcdy as 出荷日,t.KIKISCD 
    ,t.OLDSKADY 
    ,ISNULL(t.SKAKBN,0) 
    ,ISNULL(t.SKASRY,0) 
    from 
    (select HINCD 
    ,KANRICD 
    ,SKADY
    ,GI19TM_002.calcdy as 出荷日,KIKISCD 
    ,OLDSKADY 
    ,ISNULL(SKAKBN,0) as SKAKBN
    ,sum(ISNULL(SKASRY,0)) as SKASRY
    from GI19TW_104 where SKAKBN ='0'
    group by HINCD,KANRICD,KIKISCD,GI19TM_002.calcdy,SKADY,OLDSKADY,SKAKBN) as t
    right outer join GI19TM_002 on
    t.SKADY=GI19TM_002.calcdy 
    where 
    GI19TM_002.KASHOCD='021'
    and GI19TM_002.KASHOKBN='2'感谢AcHerat
    还剩下最后一个问题了 就是那个又连接的问题。。编译不过去 总说红色的部分不识别。。是怎么回事啊
      

  17.   

    zhangle861010
      我试试阿
      

  18.   

    select  
     a.HINCD
    ,a.KANRICD
    ,b.calcdy
    ,a.KIKISCD
    ,a.OLDSKADY  
    ,ISNULL(a.SKAKBN,0)  
    ,ISNULL(a.SKASRY,0)  
    from  
    (select HINCD,KANRICD,KIKISCD,OLDSKADY,SKAKBN,sum(SKASRY) SKASRY 
    from GI19TW_104 
    where SKAKBN ='0'
    group by HINCD,KANRICD,KIKISCD,OLDSKADY,SKAKBN) as a
    right outer join GI19TM_002 b on
    a.OLDSKADY=b.calcdy  
    where b.KASHOCD='021' and b.KASHOKBN='2'