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
谢谢。
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
谢谢。
from a inner join b on a.da = b.da
inner join c on b.acc = c.acc
from a
left join b on a.da = b.da
left join c on c.acc = b.acc
from a , b , c
where a.da = b.da and b.acc = c.acc
from a inner join b on a.da = b.da
inner join c on b.acc = c.acc
a.da 在选择列表中无效,因为该列未包含在聚合函数之中。并且没有group by 语句(说明 ,a 为一个view ,a view 里面包含有da 列)
from a
left join b on a.da = b.da
left join c on c.acc = b.acc
group by a.da,a.name
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
from a ,b ,c
where a.da = b.da and b.acc = c.acc
from a ,b ,c
where a.da = b.da and b.acc = c.acc
group by a.da,a.name
From A
LEFT join B on A.da = B.da
LEFT join C on C.acc = B.acc