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

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 对于知识的学以致用的解释
  • ¥50 三种调度算法报错 有实例
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败