标题:[求助]这样的查询怎么写sql语句?
只看楼主
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
得分:0 
能用存储过程

我一直不会写 没时间看相关资料
2006-03-25 13:57
LouisXIV
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:789
专家分:0
注 册:2006-1-5
得分:0 
具体表的设计不清楚,凑合了一个,不过没有用存储过程,直接select出来了

select
[id],
[lei],
[lei_id],
[cp],
[cp_id],
[price],
[price_id]
from
stu a
where exists
(
select
lei_id,
cp_id
from
stu b
where exists
(
select
lei_id,
cp_id
from
stu c
group by
lei_id,cp_id
having
b.lei_id =c.lei_id
and b.cp_id =c.cp_id
and b.price =min(c.price)
)
group by
lei_id,cp_id
having
a.lei_id =b.lei_id
and a.cp_id =b.cp_id
and a.id =min(b.id)
)

2006-03-25 19:35
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
得分:0 

[UserName=LouisXIV]

其中id不用显示 cp_id是传递链接的参数
id cp city cp_id jge
----------- -------------------------------------------------- ------
33422 定位仪 东城区 19 10
33423 定位仪 东城区 19 10
33578 烤漆房 盐城市 42 13
33612 其它 保定市 77 18
33876 扳手 松江区 61 18
34137 清洗剂 深圳市 84 20
33880 其它 松江区 112 22
33210 其它 深圳市 52 25
33878 扳手 松江区 61 25
33877 扳手 松江区 61 28
33211 其它 深圳市 52 30
33567 抽注油机 沧州市 34 30
34002 其它 广州市 77 30
34010 其它 广州市 77 30
33493 汽车用品 广州市 107 35
33542 汽车配件 广州市 106 35
33543 汽车配件 广州市 106 35
33562 其它 广州市 77 36
34017 其它 广州市 77 36
33879 千斤顶 松江区 92 38
34009 其它 广州市 77 38
34016 其它 广州市 77 38
34018 其它 广州市 77 38
34008 其它 广州市 77 42
34001 其它 广州市 77 43
33997 其它 广州市 77 48
33568 抽注油机 沧州市 34 50
33724 检测类 徐州市 100 50
34212 清洗机 珠海市 28 50
34006 其它 广州市 77 55
34003 其它 广州市 77 60
34004 其它 广州市 77 60
34011 其它 广州市 77 60
34313 检测仪 郑州市 24 60
33800 汽车用品 广州市 107 68
33995 其它 广州市 77 75
34131 补胎机 沧州市 41 75
33762 其它 沧州市 52 80
33984 其它 广州市 77 80
33464 其它 丹东市 1 100
33465 其它 丹东市 1 100
33466 其它 丹东市 1 100
33467 其它 丹东市 1 100
33468 其它 丹东市 1 100
33469 其它 丹东市 1 100
33470 其它 丹东市 1 100
33471 其它 丹东市 1 100
33472 其它 丹东市 1 100
33473 其它 丹东市 1 100
33474 其它 丹东市 1 100

(所影响的行数为 50 行)


[/UserName]

2006-03-27 12:00
LouisXIV
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:789
专家分:0
注 册:2006-1-5
得分:0 

select cp,city,cp_id,jge
from tablename t1
where id in
(
select min(id) as id
from tablename t2
where exists
(
select min(jge),cp_id
from tablename t3
group by cp_id
having t2.cp_id=t3.cp_id
and t2.jge=min(jge)
)
group by cp,city,cp_id,jge
)
不用存储过程


2006-03-27 22:10
islet
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:89
帖 子:6548
专家分:0
注 册:2005-1-28
得分:0 
挺好用

谢谢!大家帮忙
特别鸣谢:LouisXIV
2006-03-28 09:44
hurong
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-3-27
得分:0 
恩,有同感

2006-03-28 14:40



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-52276-1-1.html




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

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