日期:2014-05-17  浏览次数:20443 次

两个表之间的查询,接着前面的问题问
表一:ryxx
class,ry_id,ry_name
a,1,zhangsan
a,2,lisi
a,3,wangwu
b,4,maliu
表二:ry_gz
ry_id,ry_gz
1,3000
3,3200
1,1200
想得到的结果查询是:
class,ry_id,ry_name,ry_gz
a,1,zhangsan,4200(即3000+1200)
a,2,lisi,0(或null)
a,3,wangwu,3200
b,4,maliu,0(或null)

请问视图查询如何写,求助 

------解决方案--------------------
前面一个帖子回复过你了,和给你的第二个语句几乎完全一样,只是前面用:
------解决方案--------------------
引用:
前面一个帖子回复过你了,和给你的第二个语句几乎完全一样,只是前面用:

select class,ry_id,ry_name,ry_gz ...
多了一个列名
------解决方案--------------------
select t1.*,isnull((select sum(ry_gz) from tb2 t2 where t2.ry_id=t1.ry_id),0)ry_gz from tb1 t1

------解决方案--------------------
select  a.class,a.ry_id,a.ry_name,b.gz as ry_gz
from ryxx a left join
(select ry_id,sum(ry_gz) as gz from ry_gz group by ry_id) b
on a.ry_id=b.ry_id
order by a.class,a.ry_id