T-SQL查询语句 帮帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/06 14:16:46
create table 客户信息(
客户编号 char(20) primary key,
客户名称 char(20),
类型 char(10),
销售总金额 money
)
create table 产品信息(
产品编号 char(20) primary key,
产品名称 char(20),
计量单位 char(10),
库存数量 int,
销售单价 money,
成本单价 money,
总销售数量 int
)
create table 销售信息(
销售单编号 char(10) primary key,
销售日期 datetime,
客户编号 char(20),
产品编号 char(20),
销售数量 int
)
---从销售信息表和产品信息表查询销售总金额超过平均销售总金额的客户数。
这条查询语句怎么编写,请大虾们帮帮忙!

--试试看
DECLARE @AVG FLOAT
SELECT @AVG=AVG(TOTAL) FROM (
SELECT C.客户编号,
SUM(B.销售单价*C.销售数量) TOTAL
FROM 产品信息 B, 销售信息 C
WHERE B.产品编号=C.产品编号
GROUP BY C.客户编号
) T

SELECT COUNT(*) FROM (
SELECT C.客户编号,
CASE WHEN
SUM(B.销售单价*C.销售数量)> @AVG THEN SUM(B.销售单价*C.销售数量)
ELSE NULL
END 客户总金额
FROM 产品信息 B, 销售信息 C
WHERE B.产品编号=C.产品编号
GROUP BY C.客户编号
) P

select count(*)
from 产品信息,销售信息
where 产品信息.产品编号=销售信息,产品编号
group by 产品信息.产品编号 having avg(销售单价*销售数量)>
(select avg(销售单价*销售数量)
from 产品信息,销售信息,
where 产品信息.产品编号=销售信息,产品编号)