Reol998 2022-04-27 11:52 采纳率: 66.7%
浏览 421
已结题

update 语句执行时,报错单行语句返回多个行,反复查找也没看出问题所在,求解

问题遇到的现象和发生背景

当 c表为空值时可以执行语句不报错,一旦插入数据就会报错,请问是数据的问题么,

问题相关代码,请勿粘贴截图

update INTERNET_LINE a
set a.rate =
(select c.zh_name
from temp_reol c, GROUPSERVICE b
where c.xin_id = b.product
and b.id = a.product and b.stateflag=0)
where stateflag = 0
and exists (select 1
from temp_reol c, GROUPSERVICE b
where c.xin_id = b.product
and b.id = a.product and b.stateflag=0)

运行结果及报错内容

单行子查询返回多个行

我的解答思路和尝试过的方法

在另一张相同格式的表中执行语句可以正常进行更新,到了这张表就不可以

我想要达到的结果
  • 写回答

1条回答 默认 最新

  • xtasce2012 2022-04-27 13:01
    关注

    这个问题是子查询中因为笛卡尔积造成单个sql但是出了多个值的情况。举例:a表字段有id和name,b表有id和name,a表数据(1,张三)(2,李四),b表数据(1,张三)(1,王五),c表字段相同,有数据(1,没有名字)。结果要把ab两表id相同的姓名更新插入到c表同id的名字中,返回结果因为有(1,张三)(1,王五)出现笛卡尔积,不知道是拿张三这个名字还是王五,出现报错。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月5日
  • 已采纳回答 4月27日
  • 创建了问题 4月27日

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题