| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1127 人关注过本帖
标题:求助一个SQL的难题
只看楼主 加入收藏
linsoo
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2006-4-29
收藏
 问题点数:0 回复次数:12 
求助一个SQL的难题
现有如下数据库结构:
product 表:
productid 商品编号 int
productname 商品名称 varchar 50

sale 表:
saleid 报价记录编号 int
productid 报价商品编号(与product表关联)int
seller 报价商店名称 varchar 50price 价格 float

如何实现 选出商品编号,名称 ,最高和最低报价,最高和最低报价商店名称,进行列表? 有没有可能通过一条SQL语句实现?

多谢啊
搜索更多相关主题的帖子: SQL 难题 数据库 商品 商店 
2006-11-14 11:01
hoya
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:538
专家分:0
注 册:2006-6-27
收藏
得分:0 

SELECT DISTINCT a.saleid, b.productname, b.productid
FROM dbo.sale a INNER JOIN
dbo.product b ON a.productid = b.productid
WHERE (a.price =
(SELECT MAX(price)
FROM sale)) OR
(a.price =
(SELECT MIN(price)
FROM sale))


DISTINCT

[此贴子已经被作者于2006-11-14 16:12:50编辑过]


妈的...一天能卖一颗就很不错了...
2006-11-14 12:19
川流不息
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2000
专家分:47
注 册:2006-11-8
收藏
得分:0 

我認為只能用子查詢來得到。版主的方法我用了一下,覺得不行。


日月更替,天地輪回,人間已是幾回春。 江山不老,人正少年,只手能擎半邊天。
2006-11-14 13:51
川流不息
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2000
专家分:47
注 册:2006-11-8
收藏
得分:0 
這樣試試,不過效率怎麼樣我就不好說了。


select productid,productname,saleid from sale a
   inner join product b
on a.productid=b.productid
where
price =
(select max(price) from sale )
or
price=
(select min(price) from sale)

日月更替,天地輪回,人間已是幾回春。 江山不老,人正少年,只手能擎半邊天。
2006-11-14 14:03
linsoo
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2006-4-29
收藏
得分:0 
谢谢斑斑和楼上得热心帮助

不过我希望是查询出来后,每种商品占一条记录,然后每条记录里面包括:商品编号,名称 ,最高报价,最高报价得商店(可能多个),最低报价,最低报价对应商店商店(可能多个)

然后这样得话可以直接邦定到DataView控件上去了,如果这样得查询不可能得话不知道有没有什么好得解决方法?

再次感谢~~
2006-11-16 15:48
lrvinghu
Rank: 2
等 级:新手上路
威 望:4
帖 子:171
专家分:0
注 册:2006-4-12
收藏
得分:0 
select a.productid ,a.productname,Max(b.price),min(b.price),b.seller  from product a,sale b where a.productid =b.productid group by a.productid ,a.productid,b.seller  

2006-11-16 16:16
川流不息
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2000
专家分:47
注 册:2006-11-8
收藏
得分:0 
老兄,做死我了,這個方法你看看,不過只能查一個,你說的多個商店,你再想想辦法吧。餓死了,還沒吃飯。十點鐘了。
select a.productid,a.productname,
(select max(price) from sale as b where b.productid=a.productid) as maxprice,
(select seller from sale as b
where price=(select max(price) from sale as b where b.productid=a.productid)
and b.productid=a.productid
) as maxseller,
(select min(price) from sale as b where b.productid=a.productid) as minprice,
(select seller from sale as b
where price=(select min(price) from sale as b where b.productid=a.productid)
and b.productid=a.productid
) as maxseller
from product a

日月更替,天地輪回,人間已是幾回春。 江山不老,人正少年,只手能擎半邊天。
2006-11-16 22:19
川流不息
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2000
专家分:47
注 册:2006-11-8
收藏
得分:0 

對不住呀,沒有什麼高效率的辦法,我就只有這種死辦法,希望有辦法的同志予以提出批評,敬請指正。


日月更替,天地輪回,人間已是幾回春。 江山不老,人正少年,只手能擎半邊天。
2006-11-16 22:21
linsoo
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2006-4-29
收藏
得分:0 
哦~~,楼上的兄弟真是英明神武啊

多谢了
2006-11-19 08:34
linsoo
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2006-4-29
收藏
得分:0 
能到这样偶很满足了~~~
2006-11-19 08:35
快速回复:求助一个SQL的难题
数据加载中...
 
   



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

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