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来表示品牌 请教下语句怎么写
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字段数据相关联
运行提示 brand.name没分组 该怎么加上
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;
请参考聚合函数的使用限制:如果查询中包含一个聚合函数,而所选择的列并不在聚合函数中,则这些列就必须在group by 子句中。 就是说如果在一个查询中使用了聚合函数,则所选择的列一定是聚合函数中的列或者是出现在group by子句中的列,其它的列不允许被查询。
前提brand表中要有pp_code字段,并且和XSMXZ表中的pp_code字段数据相关联
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;
就是说如果在一个查询中使用了聚合函数,则所选择的列一定是聚合函数中的列或者是出现在group by子句中的列,其它的列不允许被查询。