我有一个语句如下select cast(yhzh as char(20))+cast(object_name as char(10))+cast(gh as char(10))+cast(1 as char(10))+cast(idcard_num  as char(20))+cast(btje as char(16))+'                    ' from czbt2.hnxc.czbt_btdj,t_sn_object,t_sn_object_zhxx where t_sn_object.id=t_sn_object_zhxx.btdx_uid and t_sn_object.id=czbt2.hnxc.czbt_btdj.btdx_uid  and month(djrq)=12 order by gh我欲把gh相同的合并为一行,btje取合计数,该如何写,菜鸟问题,请不吝赐教

解决方案 »

  1.   

    --tryselect 
    max(
    cast(yhzh as char(20))+
    cast(object_name as char(10))+
    cast(gh as char(10))+
    cast(1 as char(10))+
    cast(idcard_num  as char(20))+
    cast(btje as char(16))+'                    ' 
    )
    from czbt2.hnxc.czbt_btdj,t_sn_object,t_sn_object_zhxx 
    where t_sn_object.id=t_sn_object_zhxx.btdx_uid and t_sn_object.id=czbt2.hnxc.czbt_btdj.btdx_uid  
    and month(djrq)=12 
    order by gh
      

  2.   

    楼上的取的是最大金额,我想要的是合计金额
    可否用sum  ?   group by ?
    可是我不会用,继续请教
      

  3.   

    SUM 和 AVG 只能对数字列使用,例如 int、smallint、tinyint、decimal、numeric、float、real、money 和 smallmoney 数据类型。
      

  4.   

    select cast(gh as char(10))+cast(1 as char(10))+cast(btje as char(16)) from t1,t2,t3 order by gh因为查询出来的gh有重复的,所以我想把gh相同的金额合计放在一个gh,也就是一个gh 只出来一条结果
      

  5.   

    select cast(gh as char(10))+cast(btje as char(16)) from t1,t2,t3 order by gh因为查询出来的gh有重复的,所以我想把gh相同的金额合计放在一个gh,也就是一个gh 只出来一条结果