select D.ZDH,D.CH,A.YHMC,A.SYSID,A.YHDZ,A.DAH,B.ZBWZ,B.T_YHDAB_SYSID,B.CH,C.T_YHSBXXB_SYSID,C.CBYF,C.SYDS,C.BYDS,C.BYYSL,c.CBNF,C.ZSF from T_YHDAB a,T_YHSBXXB b,T_CBJLB c,T_BCXXB D where a.sysid=b.T_YHDAB_SYSID AND b.sysid=c.T_YHSBXXB_SYSID AND D.CH=B.CH
ZDH CH YHMC SYSID YHDZ DAH YHDAB_SYSID CH T_YHSBXXB_SYSID CBYF SYDS BYDS BYYSL CBNF ZSF
台江所 206015 林鸿斌 YH00000006 NULL 2030011981 YH00000006 206015 YH00000007 200810 0 000091.0 91 2008 227.5000
台江所 206015 谢艳滨 YH00000005 公司 2030011980 YH00000005 206015 YH00000006 200810 0 000110.0 110 2008 275.0000
台江所 206015 郭廷斌 YH00000002 公司 2030011973 YH00000002 206015 YH00000012 200810 0 000084.0 0 2008 588.0000
台江所 206015 郭廷斌 YH00000002 公司 2030011973 YH00000002 206015 YH00000003 200810 0 000084.0 168 2008 588.0000
台江所 206015 张建松 YH00000008 公司 2030011977 YH00000008 206015 YH00000015 200810 0 000037.0 37 2008 100.5290
台江所 206015 林鸿斌 YH00000006 公司 2030011981 YH00000006 206015 YH00000016 200810 0 000091.0 91 2008 227.5000
台江所 206015 林金铭 YH00000007 公司 2030011979 YH00000007 206015 YH00000014 200810 0 000016.0 0 2008 58.8000
台江所 206015 林金铭 YH00000007 公司 2030011979 YH00000007 206015 YH00000008 200810 0 000016.0 32 2008 58.8000
台江所 206015 王其华 YH00000003 公司 2030011983 YH00000003 206015 YH00000010 200810 0 000090.0 90 2008 315.0000
台江所 206015 张建松 YH00000008 公司 2030011977 YH00000008 206015 YH00000009 200810 0 000037.0 37 2008 100.5290
台江所 206015 林国华 YH00000004 公司 2030011982 YH00000004 206015 YH00000005 200810 0 000032.0 32 2008 NULL 我想把上面的SQL语句改一下效果如下: 就是把DAH这个字段值相同的ZSF字段值相加。BYYSL字段值相加
ZDH CH YHMC SYSID YHDZ DAH YHDAB_SYSID CH T_YHSBXXB_SYSID CBYF SYDS BYDS BYYSL CBNF ZSF
台江所 206015 林鸿斌 YH00000006 NULL 2030011981 YH00000006 206015 YH00000007 200810 0 000091.0 91 2008 227.5000
台江所 206015 谢艳滨 YH00000005 公司 2030011980 YH00000005 206015 YH00000006 200810 0 000110.0 110 2008 275.0000
台江所 206015 郭廷斌 YH00000002 公司 2030011973 YH00000002 206015 YH00000012 200810 0 000084.0 0 2008 0.0000
台江所 206015 郭廷斌 YH00000002 公司 2030011973 YH00000002 206015 YH00000003 200810 0 000084.0 168 2008 1176.0000
台江所 206015 张建松 YH00000008 公司 2030011977 YH00000008 206015 YH00000015 200810 0 000037.0 37 2008 100.5290
台江所 206015 林鸿斌 YH00000006 公司 2030011981 YH00000006 206015 YH00000016 200810 0 000091.0 91 2008 227.5000
台江所 206015 林金铭 YH00000007 公司 2030011979 YH00000007 206015 YH00000014 200810 0 000016.0 0 2008 0.0000
台江所 206015 林金铭 YH00000007 公司 2030011979 YH00000007 206015 YH00000008 200810 0 000016.0 32 2008 117.6000
台江所 206015 王其华 YH00000003 公司 2030011983 YH00000003 206015 YH00000010 200810 0 000090.0 90 2008 315.0000
台江所 206015 张建松 YH00000008 公司 2030011977 YH00000008 206015 YH00000009 200810 0 000037.0 37 2008 100.5290
台江所 206015 林国华 YH00000004 公司 2030011982 YH00000004 206015 YH00000005 200810 0 000032.0 32 2008 NULL
ZDH CH YHMC SYSID YHDZ DAH YHDAB_SYSID CH T_YHSBXXB_SYSID CBYF SYDS BYDS BYYSL CBNF ZSF
台江所 206015 林鸿斌 YH00000006 NULL 2030011981 YH00000006 206015 YH00000007 200810 0 000091.0 91 2008 227.5000
台江所 206015 谢艳滨 YH00000005 公司 2030011980 YH00000005 206015 YH00000006 200810 0 000110.0 110 2008 275.0000
台江所 206015 郭廷斌 YH00000002 公司 2030011973 YH00000002 206015 YH00000012 200810 0 000084.0 0 2008 588.0000
台江所 206015 郭廷斌 YH00000002 公司 2030011973 YH00000002 206015 YH00000003 200810 0 000084.0 168 2008 588.0000
台江所 206015 张建松 YH00000008 公司 2030011977 YH00000008 206015 YH00000015 200810 0 000037.0 37 2008 100.5290
台江所 206015 林鸿斌 YH00000006 公司 2030011981 YH00000006 206015 YH00000016 200810 0 000091.0 91 2008 227.5000
台江所 206015 林金铭 YH00000007 公司 2030011979 YH00000007 206015 YH00000014 200810 0 000016.0 0 2008 58.8000
台江所 206015 林金铭 YH00000007 公司 2030011979 YH00000007 206015 YH00000008 200810 0 000016.0 32 2008 58.8000
台江所 206015 王其华 YH00000003 公司 2030011983 YH00000003 206015 YH00000010 200810 0 000090.0 90 2008 315.0000
台江所 206015 张建松 YH00000008 公司 2030011977 YH00000008 206015 YH00000009 200810 0 000037.0 37 2008 100.5290
台江所 206015 林国华 YH00000004 公司 2030011982 YH00000004 206015 YH00000005 200810 0 000032.0 32 2008 NULL 我想把上面的SQL语句改一下效果如下: 就是把DAH这个字段值相同的ZSF字段值相加。BYYSL字段值相加
ZDH CH YHMC SYSID YHDZ DAH YHDAB_SYSID CH T_YHSBXXB_SYSID CBYF SYDS BYDS BYYSL CBNF ZSF
台江所 206015 林鸿斌 YH00000006 NULL 2030011981 YH00000006 206015 YH00000007 200810 0 000091.0 91 2008 227.5000
台江所 206015 谢艳滨 YH00000005 公司 2030011980 YH00000005 206015 YH00000006 200810 0 000110.0 110 2008 275.0000
台江所 206015 郭廷斌 YH00000002 公司 2030011973 YH00000002 206015 YH00000012 200810 0 000084.0 0 2008 0.0000
台江所 206015 郭廷斌 YH00000002 公司 2030011973 YH00000002 206015 YH00000003 200810 0 000084.0 168 2008 1176.0000
台江所 206015 张建松 YH00000008 公司 2030011977 YH00000008 206015 YH00000015 200810 0 000037.0 37 2008 100.5290
台江所 206015 林鸿斌 YH00000006 公司 2030011981 YH00000006 206015 YH00000016 200810 0 000091.0 91 2008 227.5000
台江所 206015 林金铭 YH00000007 公司 2030011979 YH00000007 206015 YH00000014 200810 0 000016.0 0 2008 0.0000
台江所 206015 林金铭 YH00000007 公司 2030011979 YH00000007 206015 YH00000008 200810 0 000016.0 32 2008 117.6000
台江所 206015 王其华 YH00000003 公司 2030011983 YH00000003 206015 YH00000010 200810 0 000090.0 90 2008 315.0000
台江所 206015 张建松 YH00000008 公司 2030011977 YH00000008 206015 YH00000009 200810 0 000037.0 37 2008 100.5290
台江所 206015 林国华 YH00000004 公司 2030011982 YH00000004 206015 YH00000005 200810 0 000032.0 32 2008 NULL
sum(C.BYYSL),c.CBNF,sum(C.ZSF)
from T_YHDAB a,T_YHSBXXB b,T_CBJLB c,T_BCXXB D where a.sysid=b.T_YHDAB_SYSID AND b.sysid=c.T_YHSBXXB_SYSID AND D.CH=B.CH
group by A.DAH 不知道能不能帮到你?
D.CH,
A.YHMC,
A.SYSID,
A.YHDZ,
A.DAH,
B.ZBWZ,
B.T_YHDAB_SYSID,
B.CH,
C.T_YHSBXXB_SYSID,
C.CBYF,
C.SYDS,
C.BYDS,
E.BYYSL,
c.CBNF,
E.ZSF
from T_YHDAB a,
T_YHSBXXB b,
T_CBJLB c,
T_BCXXB D,
(select A.DAH,
sum(isnull(C.BYYSL,0) As BYYSL,
sum(isnull(C.ZSF,0) AS ZSF
from T_YHDAB a,
T_YHSBXXB b,
T_CBJLB c
where a.sysid=b.T_YHDAB_SYSID
AND b.sysid=c.T_YHSBXXB_SYSID
) AS E
where a.sysid=b.T_YHDAB_SYSID
AND b.sysid=c.T_YHSBXXB_SYSID
AND D.CH=B.CH
and E.DAH=A.DAH
1、有的两行数据加了,而有的数据没有加
2、你的要求也没有说明白。dah相同的,zsf加了以后,还有一行要减吗?
怎么个不行,估计 表之间的关系 写的不够细,你把需求说明白。 a.sysid=b.T_YHDAB_SYSID AND b.sysid=c.T_YHSBXXB_SYSID AND D.CH=B.CH 就这些吗 ??
那哪一行为空,你也没说清楚啊。你不把你的要求说清楚,怎么给你解决问题?
BYYSL=case when T_YHSBXXB_SYSID = (select min (T_YHSBXXB_SYSID)from tb where dah =t.dah) then (select sum(byysl) from tb where dah =t.dah) else 0 end,
CBNF,
ZSF =case when T_YHSBXXB_SYSID = (select min (T_YHSBXXB_SYSID)from tb where dah =t.dah) then (select sum(zsf) from tb where dah =t.dah) else 0 end
from tb t
order by dah这个是以你的数据为一张表来写的。台江所 206015 郭廷斌 YH00000002 公司 2030011973 YH00000002 206015 YH00000012 2020-08-10 00:00:00.000 0 000084.0 0 2008-01-01 00:00:00.000 .0000
台江所 206015 郭廷斌 YH00000002 公司 2030011973 YH00000002 206015 YH00000003 2020-08-10 00:00:00.000 0 000084.0 168 2008-01-01 00:00:00.000 1176.0000
台江所 206015 张建松 YH00000008 公司 2030011977 YH00000008 206015 YH00000015 2020-08-10 00:00:00.000 0 000037.0 0 2008-01-01 00:00:00.000 .0000
台江所 206015 张建松 YH00000008 公司 2030011977 YH00000008 206015 YH00000009 2020-08-10 00:00:00.000 0 000037.0 74 2008-01-01 00:00:00.000 201.0580
台江所 206015 林金铭 YH00000007 公司 2030011979 YH00000007 206015 YH00000014 2020-08-10 00:00:00.000 0 000016.0 0 2008-01-01 00:00:00.000 .0000
台江所 206015 林金铭 YH00000007 公司 2030011979 YH00000007 206015 YH00000008 2020-08-10 00:00:00.000 0 000016.0 32 2008-01-01 00:00:00.000 117.6000
台江所 206015 谢艳滨 YH00000005 公司 2030011980 YH00000005 206015 YH00000006 2020-08-10 00:00:00.000 0 000110.0 110 2008-01-01 00:00:00.000 275.0000
台江所 206015 林鸿斌 YH00000006 NULL 2030011981 YH00000006 206015 YH00000007 2020-08-10 00:00:00.000 0 000091.0 182 2008-01-01 00:00:00.000 455.0000
台江所 206015 林鸿斌 YH00000006 公司 2030011981 YH00000006 206015 YH00000016 2020-08-10 00:00:00.000 0 000091.0 0 2008-01-01 00:00:00.000 .0000
台江所 206015 林国华 YH00000004 公司 2030011982 YH00000004 206015 YH00000005 2020-08-10 00:00:00.000 0 000032.0 32 2008-01-01 00:00:00.000 NULL
台江所 206015 王其华 YH00000003 公司 2030011983 YH00000003 206015 YH00000010 2020-08-10 00:00:00.000 0 000090.0 90 2008-01-01 00:00:00.000 315.0000