数据库select检索多个满足条件的值,如何只取其中一个,急....

我有一张表A,有三个字段BH,SHULIANG1,SHULIANG2,(编号,数量1,数量2),我现在要从A中检索SHULIANG1>=5ANDSHULIANG1<=10... 我有一张表A,有三个字段BH,SHULIANG1,SHULIANG2,(编号,数量1,数量2),我现在要从A中检索SHULIANG1>=5 AND SHULIANG1 <=10的数据,然后去其中SHULIANG2最小的一个BH,放到变量LS_BH中,请问,应该如何写SELECT语句,求大神支招~~~为什么这样写:
select BH into LS_BH from A where SHULIANG1>=5 and SHULIANG1 <=10 having SHULIANG2=
min(SHULIANG2)不行,提示此处不允许使用分组函数.这样写也不行:select top 1 BH as LS_BH from t_srt where SHULIANG1 between 5 and 10 order by SHULIANG2,提示top标识符无效,我用的是oracle数据库,和PL/SQL工具
展开
 我来答
badkano
推荐于2017-11-27 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885369
团长

向TA提问 私信TA
展开全部

先说一点,一个变量只能存储一条数据

你要是查出多个的话,需要用到游标

select t.bh --into ls_bh 
from
(select bh,min(shuliang2) shuliang2 from A where SHULIANG1>=5 and SHULIANG1 <=10 group by bh) t

先把into ls_bh 注释掉,看下运行结果

有问题追问,百度知道新版很烂,无法显示追问,请追问后私信,并附上问题地址,避免耽误时间过长解答不了你的问题

更多追问追答
追问

还是不行啊 ,检索出来的还是表A中的所有数据!我只想查出shuliang2最小的那一个....

追答
select t.bh from a where shuliang2 in
(select min(shuliang2)  from A where SHULIANG1>=5 and SHULIANG1 <=10 group by bh)

这样呢

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式