多表统计查询的问题

greymist 2007-04-21 10:19:29
现有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)
虽然能解决问题但自己感觉很别扭,请帮我改一下,看能不能多给几个比较好的解决办法.
...全文
407 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
greymist 2007-04-21
  • 打赏
  • 举报
回复
语句应该是这样:
select distinct 产品型号 ,生产厂家,单价
from cpb inner join xsqkb on cpb.产品号=xsqkb.产品号
where cpb.产品号 in
(select top 3 with ties 产品号, count(产品号)as aa from xsqkb
group by (产品号)
order by aa desc)

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧