多表统计查询的问题
现有cpb和xsqkb两个表
cpb数据如下
产品号 产品型号 生产厂家 单价
CP001 KF-25GW/11BP 海信 2300
CP002 KF-25GW/22BP 海信 2300
CP003 KFR-35GW/29BP 海信 3600
CP004 KFR-25GW/99SZBP 海信 5300
CP005 KFR-26GW/76ZBP 海信 3400
CP006 KFR-23GW/77VZBP 海信 3000
CP007 KFR-32GW/76ZBP 海信 3700
CP008 KFR-32GW/77VZBP 海信 3600
CP009 KFR-35GW/77ZBP 海信 4000
CP010 KFR-40GW/77ZBP 海信 4600
CP011 KFR-50GW/09BP 海信 5400
CP012 KFR-32GW/29RBP 海信 3600
CP013 KFR-32GW/11BP 海信 3400
xsqkb 表 数据
产品号 职工号 销售时间 销售数量
CP001 ZG001 2006-10-03 00:00:00 1
CP001 ZG006 2006-11-11 00:00:00 9
CP002 ZG002 2006-09-21 00:00:00 8
CP002 ZG009 2006-05-30 00:00:00 4
CP003 ZG004 2005-02-23 00:00:00 3
CP003 ZG004 2006-03-10 00:00:00 3
CP003 ZG004 2006-05-02 00:00:00 3
CP003 ZG006 2006-02-12 00:00:00 7
CP004 ZG007 2005-06-18 00:00:00 8
现求销售销量排前三位的空调的型号,生产厂家和单价
我给出的SQL语句为
select distinct 产品型号 ,生产厂家,单价
from cpb inner join xsqkb on cpb.产品号=xsqkb.产品号
where cpb.产品号 in
(select top 3 with ties 产品号 as aa from xsqkb
group by (cph)
order by aa desc)
虽然能解决问题但自己感觉很别扭,请帮我改一下,看能不能多给几个比较好的解决办法.