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

  2.   


    --> --> (让你望见影子的墙)生成測試數據
     
    if not object_id('tb') is null
    drop table tb
    Go
    Create table tb([ZDH] nvarchar(3),[CH1] int,[YHMC] nvarchar(3),[SYSID] nvarchar(10),[YHDZ] nvarchar(2),[DAH] int,[YHDAB_SYSID] nvarchar(10),[CH2] int,[T_YHSBXXB_SYSID] nvarchar(10),[CBYF] Datetime,[SYDS] int,[BYDS] nvarchar(8),[BYYSL] int,[CBNF] Datetime,[ZSF] decimal(18,4))
    Insert tb
    select N'台江所',206015,N'林鸿斌',N'YH00000006',null,2030011981,N'YH00000006',206015,N'YH00000007','200810',0,N'000091.0',91,'2008',227.5000 union all
    select N'台江所',206015,N'谢艳滨',N'YH00000005',N'公司',2030011980,N'YH00000005',206015,N'YH00000006','200810',0,N'000110.0',110,'2008',275.0000 union all
    select N'台江所',206015,N'郭廷斌',N'YH00000002',N'公司',2030011973,N'YH00000002',206015,N'YH00000012','200810',0,N'000084.0',84,'2008',588.0000 union all
    select N'台江所',206015,N'郭廷斌',N'YH00000002',N'公司',2030011973,N'YH00000002',206015,N'YH00000003','200810',0,N'000084.0',84,'2008',588.0000 union all
    select N'台江所',206015,N'张建松',N'YH00000008',N'公司',2030011977,N'YH00000008',206015,N'YH00000015','200810',0,N'000037.0',37,'2008',100.5290 union all
    select N'台江所',206015,N'林鸿斌',N'YH00000006',N'公司',2030011981,N'YH00000006',206015,N'YH00000016','200810',0,N'000091.0',91,'2008',227.5000 union all
    select N'台江所',206015,N'林金铭',N'YH00000007',N'公司',2030011979,N'YH00000007',206015,N'YH00000014','200810',0,N'000016.0',16,'2008',58.8000 union all
    select N'台江所',206015,N'林金铭',N'YH00000007',N'公司',2030011979,N'YH00000007',206015,N'YH00000008','200810',0,N'000016.0',16,'2008',58.8000 union all
    select N'台江所',206015,N'王其华',N'YH00000003',N'公司',2030011983,N'YH00000003',206015,N'YH00000010','200810',0,N'000090.0',90,'2008',315.0000 union all
    select N'台江所',206015,N'张建松',N'YH00000008',N'公司',2030011977,N'YH00000008',206015,N'YH00000009','200810',0,N'000037.0',37,'2008',100.5290 union all
    select N'台江所',206015,N'林国华',N'YH00000004',N'公司',2030011982,N'YH00000004',206015,N'YH00000005','200810',0,N'000032.0',32,'2008',null
    Go
    Select * from tb
    order by dahselect 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