数据库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工具 展开
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工具 展开
1个回答
展开全部
先说一点,一个变量只能存储一条数据
你要是查出多个的话,需要用到游标
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 注释掉,看下运行结果
有问题追问,百度知道新版很烂,无法显示追问,请追问后私信,并附上问题地址,避免耽误时间过长解答不了你的问题
更多追问追答
追答
select t.bh from a where shuliang2 in
(select min(shuliang2) from A where SHULIANG1>=5 and SHULIANG1 <=10 group by bh)
这样呢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询