现在有一张表 如下:
(OneTable)
  id  上级地理位置(SJDLWZ)   下级地理位置(XJDLWZ)   类型(LX)    数量(SL)    单位(DW) 
  1    重庆                        璧山              缆线          23            米
  2    重庆                        璧山              管道           6            根
  3    重庆                        璧山              放大器         9            台
  4    璧山                        丁家              缆线          15            米
  5    璧山                        丁家              管道           6            根
  6    璧山                        丁家              放大器         7            台
 我的意思是 对这张表 对不同单位进行求和,比如重庆到璧山缆线数量是23米,璧山到丁家缆线是15米 那么重庆到丁家的缆线数量就应该是38米...以此类推重庆到丁家的的管道和放大器一共是多少根和多少台? 用SQL语句该改怎么来写!.............求高手指点  谢谢!

解决方案 »

  1.   


    select 单位,
    sum(数量)
    from OneTable
    group by 单位
      

  2.   

    select  LX, sum(SL) ,DW
    from  OneTable
    where  SJDLWZ ='重庆' and XJDLWZ ='璧山'
    group by  LX,DW
      

  3.   

    select SJDLWZ,XJDLWZ,LX,sum(SL) from tb group by SJDLWZ,XJDLWZ,LX
      

  4.   


    --比如重庆到璧山缆线数量是23米,璧山到丁家缆线是15米 那么重庆到丁家的缆线数量就应该是38米
    lz是要连起来
    所以不应该group by包含SJDLWZ,XJDLWZ
    但是LZ必须保证相同SJDLWZ,XJDLWZ的只有1个且是连起的,否则1楼方式无效