table  a,b,c
a 表中  列 da,name
b 表中  列 da,acc
c 表中  列 acc,je其中 a 表的da 列 = b表的da 列
b表的acc 列 = c表的acc 列现在想得到a.da,a.name ,sum(c.je) 这样的结果比如 
001    张三   100
002    李四    87
003    王五    94
.        .     .  
.        .     .
.        .     .请高手帮忙指点一下。如何写这个sql
谢谢。

解决方案 »

  1.   

    select a.da,a.name ,sum(c.je)
    from a inner join b on a.da = b.da
           inner join c on b.acc = c.acc
      

  2.   

    select a.da,a.name ,sum(c.je) 
    from a
    left join b on a.da = b.da
    left join c on c.acc = b.acc
      

  3.   

    select a.da,a.name ,sum(c.je)
    from a , b , c
    where a.da = b.da and b.acc = c.acc
      

  4.   

    select a.da,a.name ,sum(c.je) as je
    from a inner join b on a.da = b.da
           inner join c on b.acc = c.acc
      

  5.   

    楼上几位大哥的语法我都试过,都提示
    a.da 在选择列表中无效,因为该列未包含在聚合函数之中。并且没有group by 语句(说明 ,a 为一个view ,a view 里面包含有da 列)
      

  6.   

    select a.da,a.name ,sum(c.je) 
    from a
    left join b on a.da = b.da
    left join c on c.acc = b.acc
    group by a.da,a.name
      

  7.   


    select a.da, a.name , T1.je from
    a inner join
    (
    select b.da, sum(c.je) as je 
    from b inner join c on b.acc = c.acc group by b.acc, b.acc
    ) AS T1
    on a.da = T1.da
      

  8.   

    select a.da,a.name,sum(c.je)
    from a ,b ,c
    where a.da = b.da and b.acc = c.acc
      

  9.   

    select a.da,a.name,sum(c.je)
    from a ,b ,c
    where a.da = b.da and b.acc = c.acc
    group by a.da,a.name
      

  10.   

    Select A.da,A.name ,SUM(C.je) 
    From A
    LEFT join B on A.da = B.da
    LEFT join C on C.acc = B.acc