日期:2014-05-16  浏览次数:20658 次

求教高手 表相关联的问题
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来表示品牌 请教下语句怎么写

------解决方案--------------------
SQL 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 子句中。
就是说如果在一个查询中使用了聚合函数,则所选择的列一定是聚合函数中的列或者是出现在group by子句中的列,其它的列不允许被查询。