mysql – 如何在SQL中将子查询结果设置为变量1st值

weixin_38090514 2019-09-12 01:21:48
我对SQL不太满意,请帮助我.在我的存储过程中,我得到一个参数.然后,基于此参数,我想从另一个表中获取ID并将此ID放入我的另一个变量中,但问题是ID可能是基于此参数的多个. DECLARE @RateID int; SET @RateID = ( Select [dbo].[Rate].RateID from [dbo].[Rate] Where [dbo].[Rate].Rate = 160 ) 这里我收到错误,因为Subquery返回的值超过1如何从子查询结果中获取第一个值并设置为@RateID?
...全文
278 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38098983 2019-09-12
  • 打赏
  • 举报
回复
您可能想要这样尝试: DECLARE @RateID int; SET @RateID = ( Select Top 1 [dbo].[Rate].RateID from [dbo].[Rate] Where [dbo].[Rate].Rate = 160 ) 与在您当前的查询中一样,可能存在这样的情况:您的表具有多于1行,其满足条件Rate = 160,因此select查询将返回多于1行,您无法将其存储在单个变量中. 但是在MYSQL中你必须使用LIMIT 1,因为TOP 1在MYSQL中不起作用.

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧