select pp_code,sum(num*price_out_ys) from XSMXZ where indate>='01-NOV-11' and indate<='30-NOV-11' group by pp_code;           表XSMXZ里面的PP_CODE(品牌)是用数字表示的  我想相关联brand表中的列NAME来表示品牌   请教下语句怎么写

解决方案 »

  1.   

    select XSMXZ.pp_code,brand.name from XSMXZ,brand where XSMXZ.pp_code= brand.pp_code and XSMXZ.indate>='01-NOV-11' and XSMXZ.indate<='30-NOV-11' group by XSMXZ.pp_code;
    前提brand表中要有pp_code字段,并且和XSMXZ表中的pp_code字段数据相关联
      

  2.   

    运行提示 brand.name没分组 该怎么加上
      

  3.   


    select XSMXZ.pp_code,brand.name,sum(XSMXZ.num*XSMXZ.price_out_ys) 
    from XSMXZ,brand 
    where XSMXZ.pp_code= brand.pp_code 
    and XSMXZ.indate>='01-NOV-11' and XSMXZ.indate<='30-NOV-11' 
    group by XSMXZ.pp_code,brand.name;
      

  4.   

    请参考聚合函数的使用限制:如果查询中包含一个聚合函数,而所选择的列并不在聚合函数中,则这些列就必须在group by 子句中。
    就是说如果在一个查询中使用了聚合函数,则所选择的列一定是聚合函数中的列或者是出现在group by子句中的列,其它的列不允许被查询。