| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 773 人关注过本帖
标题:请教 查找的一个问题?
只看楼主 加入收藏
nannansun
Rank: 1
等 级:新手上路
威 望:1
帖 子:11
专家分:0
注 册:2008-10-17
收藏
 问题点数:0 回复次数:1 
请教 查找的一个问题?
create database aaa

use aaa

create table aaa1
(ddh int primary key,     ------*ddh表示订单号
 ddmz varchar(18),        ------*ddmz表示订单名
 ddrq datetime)           ------*ddrq表示订单日期

create table aaa2
(cpbh int primary key,    ------*cpbh表示产品编号
 cpmz varchar(16))        ------*cpmz表示产品名字

create table aaa3
(ddh int references aaa1(ddh),------*ddh表示订单号,并且引用aaa1中的ddh列
 cpbh int references aaa2(cpbh),------*cpbh表示产品编号,并且引用aaa2中的cpbh列
 cpsl int,                 ------*cpsl表示产品数量
 cpdj float,               ------*cpdj表示产品单价
 constraint pk_ooo_aaa_ primary key(ddh,cpbh)) ----*定义主键            



select * from aaa1
select * from aaa2
select * from aaa3

insert into aaa1 values(1001,'计算机配置单1','2008-08-12')
insert into aaa1 values(1002,'计算机配置单2','2008-09-10')
insert into aaa1 values(1003,'计算机配置单3','2008-10-19')


insert into aaa2 values(1,'显示器')
insert into aaa2 values(2,'键盘')
insert into aaa2 values(3,'鼠标')
insert into aaa2 values(4,'机箱')
insert into aaa2 values(5,'电源')

insert into aaa3 values(1001,1,6,500)
insert into aaa3 values(1001,2,1,100)
insert into aaa3 values(1001,3,6,50)
insert into aaa3 values(1001,4,2,210)


insert into aaa3 values(1002,2,3,100)
insert into aaa3 values(1002,3,1,50)
insert into aaa3 values(1002,4,5,210)


insert into aaa3 values(1003,1,2,500)
insert into aaa3 values(1003,2,10,100)
insert into aaa3 values(1003,3,6,50)
insert into aaa3 values(1003,4,2,210)
insert into aaa3 values(1003,5,6,190)

select * from aaa1
select * from aaa2
select * from aaa3


------*现在要显示哪些订单中购买了产品编号为1的产品?

select ddh from aaa3 where cpbh=1



------*现在要显示哪些订单中购买产品数量的平均值在5以上(包括5)?


select avg(cpsl) from aaa3 where ddh=1001
select avg(cpsl) from aaa3 where ddh=1002
select avg(cpsl) from aaa3 where ddh=1003

--*我只会写成这样。但是不知道怎么成为题目的要求。
--*分开可以显示每个订单中购买的产品数量的平均数
--*如何变成语句,让它可以完成上面的题目的要求。


------*显示出哪些订单中产品数量最多?
--*我的思路是想弄出每个订单中的行数,也就知道
--*了每个订单中的产品种类,但是不知道后面怎么写?


select count(*) from aaa3 where ddh=1001
select count(*) from aaa3 where ddh=1002
select count(*) from aaa3 where ddh=1003



想问下  应该如何去写下面两个结果啊

1.现在要显示哪些订单中购买产品数量的平均值在5以上(包括5)?
2.显示出哪些订单中产品数量最多?


应该怎么写。。。。  帮帮下。。  听人说要用数组。。。 是不,,,我们还没学 ,,想问下 应该怎么写,,,,  



  谢谢啦
2008-10-21 22:48
nannansun
Rank: 1
等 级:新手上路
威 望:1
帖 子:11
专家分:0
注 册:2008-10-17
收藏
得分:0 
------*现在要显示哪些订单中购买产品数量的平均值在5以上(包括5)?

select ddh from aaa3 group by ddh having avg(cpsl) >= 5


------*显示出哪些订单中产品数量最多?
select top 1 ddh from aaa3 group by ddh  order by sum(cpsl) desc

  别人给我说 是这样的,,, 但是看不懂  谁可以解释下
2008-10-23 22:50
快速回复:请教 查找的一个问题?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024846 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved