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 

解决方案 »

  1.   

    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,
    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 不知道能不能帮到你?
      

  2.   

    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,
           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
      

  3.   

    楼主你给的数据有问题吧: 
    1、有的两行数据加了,而有的数据没有加 
    2、你的要求也没有说明白。dah相同的,zsf加了以后,还有一行要减吗?
      

  4.   

    如果DAH字段值是相同的BYYSL和ZSF 这两个的字段值各相加还有一行为空
      

  5.   

    [Quote=引用 5 楼 这句好像也不行耶。不过,还是要谢谢你啊。
    怎么个不行,估计 表之间的关系 写的不够细,你把需求说明白。 a.sysid=b.T_YHDAB_SYSID AND b.sysid=c.T_YHSBXXB_SYSID AND D.CH=B.CH  就这些吗 ??
      

  6.   

    BYYSL和ZSF 这两个的字段值各相加 还有一行为空
    那哪一行为空,你也没说清楚啊。你不把你的要求说清楚,怎么给你解决问题?
      

  7.   

    select zdh,ch1,YHMC,sysid,yhdz,DAH,YHDAB_SYSID,CH2,T_YHSBXXB_SYSID,CBYF,SYDS,BYDS,
           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