Oracle SQL相关更新

2023-11-29

我有三张桌子:

t1.columns: a,c
t2.columns: a,b
t3.columns: b,c,d

现在我想要的是用 t3.d 更新 t1.c。但我不能只使用 t1.c = t3.c 从 t3 更新 t1,我还必须遍历 t3.b = t2.b 和 t1.a = t2.a。

我尝试过这样的事情:

UPDATE table1 t1
   SET t1.c = (select t3.d
               from table2 t2, table3 t3
               where t2.b = t3.b and t1.a = t2.a)                                  
 WHERE EXISTS ( SELECT 1 FROM table2 t2, table3 t3 WHERE t1.c = t3.c and t1.a = t2.a);

此代码生成错误消息:ORA-01427:单行子查询返回多于一行


如果 t1 和 t2 之间或 t2 和 t3 之间存在一对多关系,则 t1 中的每一行都会有许多匹配项。如果您知道 t3 中属于 t1 中同一行的所有行在 d 中具有相同的值,那么您可以使用DISTINCT删除(相同的)重复项。

UPDATE table1 t1
   SET t1.c = (select DISTINCT t3.d
               from table2 t2, table3 t3
               where t2.b = t3.b and t1.a = t2.a)                                  
 WHERE EXISTS ( SELECT 1 FROM table2 t2, table3 t3 WHERE t1.c = t3.c and t1.a = t2.a);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oracle SQL相关更新 的相关文章

  • MySQL 中的断言

    我有一个针对大型数据库运行的 SQL 脚本 我想在开始时提出几个简单的查询 作为健全性检查 有没有办法在MySQL中写断言 或者任何类型的 选择 如果它与该值不匹配 则中止整个脚本 一些疯狂的代码 要点是 SET可能会引发 mysql 变量
  • sql server GO 相当于 oracle

    我正在为 Oracle 编写迁移脚本 我需要更改表结构 然后用数据填充它 我想先进行结构更改 然后再进行数据更改 在 SQL Server 中我会使用GO分离批次 是否有 SQL ServerGOOracle 中的等效命令 It s and
  • 在 Oracle 中使用触发器记录对表的更改

    我的一门课有一个项目 当我们的两个表发生更改时 我们需要创建一个日志 插入 更新 删除 我们需要使用Oracle触发器和PL SQL 在日志文件中 我们需要记录用户ID 日期时间 IP地址和事件 插入 更新 删除 我知道如何设置触发器 但我
  • SQL Server 查询结果集的大小

    SQL Server 中是否有确定结果集中 Mgmt Studio 查询中返回的数据大小 以 MEGS 为单位 您可以打开客户端统计信息 查询菜单 包括客户端统计信息 它给出执行查询时从服务器返回的字节数
  • 如何检查 Oracle 数据库是否存在长时间运行的查询

    我的应用程序使用 Oracle 数据库 速度缓慢或似乎完全停止 如何找出哪些查询成本最高 以便我可以进一步调查 这显示当前处于 活动 状态的 SQL select S USERNAME s sid s osuser t sql id sql
  • SQL - 为每条记录调用存储过程

    我正在寻找一种方法来为 select 语句的每条记录调用存储过程 SELECT SomeIds SELECT spro Id FROM SomeTable as spro INNER JOIN Address addr ON addr Id
  • 从 PDO 准备好的语句中获取原始 SQL 查询字符串

    在准备好的语句上调用 PDOStatement execute 时 有没有办法让原始 SQL 字符串执行 出于调试目的 这将非常有用 我假设您的意思是您想要最终的 SQL 查询 并将参数值插入其中 我知道这对于调试很有用 但这不是准备好的语
  • SQL Server 转换选择一列并将其转换为字符串

    是否可以编写一条从表中选择列并将结果转换为字符串的语句 理想情况下 我希望有逗号分隔的值 例如 假设 SELECT 语句看起来像这样 SELECT column FROM table WHERE column lt 10 结果是一列包含值的
  • ROWNUM 的 OracleType 是什么

    我试图参数化所有现有的 sql 但以下代码给了我一个问题 command CommandText String Format SELECT FROM 0 WHERE ROWNUM lt maxRecords command CommandT
  • 如何通过循环变量在 dbt 中多次运行 SQL 模型?

    我有一个 dbt 模型 测试模型 接受地理变量 zip state region 在配置中 我想通过循环变量来运行模型三次 每次使用不同的变量运行它 问题是 我有一个如下所示的宏 它将变量附加到输出表名称的末尾 即运行测试模型 with z
  • Yii 查询时对相关模型的限制

    我遇到了极限问题 我正在使用的代码如下 model PostCategory model record model gt with array posts gt array order gt posts createTime DESC li
  • 让 Prometheus 发送 SQL 查询

    我正在尝试使用普罗米修斯 https prometheus io 监视我的 MySQL 数据库 但似乎找不到添加 SQL 查询的区域 例如 我想运行一个返回值的 SQL 查询 然后将该值添加到图表中 发送警报 有没有办法让 Promethe
  • 从一个sql服务器选择到另一个sql服务器?

    我想将一台服务器 Data Old S1 中的一个表 T1 在 DB1 中 中的数据选择到另一台服务器 Data Latest S2 中的另一个表 T2 在 DB2 中 中的数据 我怎样才能做到这一点 请注意服务器的命名方式 查询也应该考虑
  • T-sql、刻度、时间戳

    是否有可能在 t sql 中获得像 DateTime Ticks 这样的 C 内容 感谢帮助 您不太可能从 SQL 中获得与 DateTime Ticks 相同的精度 因为 SQL 不能以那么高的精度表达时间 SQL Server 只存储大
  • 使用包含空值列的 WHERE 子句的更新语句

    我正在使用另一个表中的数据更新一个表上的列 这WHERE子句基于多个列 并且某些列为空 根据我的想法 这个空值是什么throwing off你的标准UPDATE TABLE SET X Y WHERE A B陈述 See 这个 SQL 小提
  • 对具有许多索引的表进行缓慢的批量插入

    我尝试将数百万条记录插入到具有 20 多个索引的表中 在上次运行中 每 100 000 行花费了 4 个多小时 并且查询在 3 5 天后被取消 您对如何加快速度有什么建议吗 我怀疑是索引太多的原因 如果你也这么认为 如何在操作前自动删除索引
  • 不是 select 中带有 MAX 的单组组函数

    Select sg gameno Max sg Year sg end sg hostcity country olympic name from Summergames s Country co where s country isoco
  • 这是过滤数据并防止 SQL 注入和其他攻击的安全方法吗?

    我创建了两个简单的函数来在插入数据进入 mysql 查询之前对其进行过滤 对于表单字段 我还使用正则表达式来单独检查每个字段 Form filter function filter var HTML is not allowed var s
  • ActiveRecord 嵌套 SELECT——我可以在没有手动 SQL 的情况下完成它吗?

    我有一张桌子 上面有 除其他外 一个名字和一个等级 我想返回所有唯一名称的集合 但对于返回的每个名称 我想选择排名最高的行 这很简单 有两个嵌套的 SELECT 语句 SELECT FROM SELECT FROM foo ORDER BY
  • 部署 dacpac 所需的权限

    我正在尝试使用 sqlpackage exe 在租户上部署 dacpac 目前 我正在向将部署此功能的帐户授予 SysAdmin 或 db owner 权限 并且它工作正常 但在生产中 如果目标租户数据库属于其他应用程序 我可能无法获得这些

随机推荐

  • Kill 后的未知错误未成功终止:发信号通知 init 进程导致“权限被拒绝”\n:未知'

    我正在尝试启动一些 docker 容器 或者至少忙于 docker 容器 第一次安装后 一切都很完美 并不会做任何与 docker compose up down stop restart 不同的事情 并制作一些 wordpress 容器
  • 如何在某些智能指针中实现深复制功能?

    unique ptr 非常有用 然而 它是不可复制的 如果为其指向的类提供虚拟克隆 深复制 方法 我认为它将变得更有用 有必要或者有更好的实现方式吗 某些库中是否存在类似的智能指针 这是一个版本 template
  • 对没有组合的嵌套 boost::bind 执行参数替换

    假设我有一个函数 它接受一个无效函子作为参数 void enqueue boost function
  • 检测平板电脑

    我有一个 net winforms 应用程序 一些用户将在 Win7 平板电脑上运行该应用程序 对于这些用户 我想更改某些 UI 元素以使笔输入更容易 同时将这些项目留给普通用户 我已经能够找到有关笔和触摸设计指南的 msdn 文档 以及有
  • AttachConsole 的实际最低版本要求是什么?

    在线 PSDK 文档指出 5 1 WinXP 要编译使用此函数的应用程序 请定义 WIN32 WINNT 如 0x0501 或更高版本 有关详细信息 请参阅使用 Windows 标头 要求 最低支持客户端 Windows XP 仅限桌面应用
  • 读取刚刚打开的SerialPort时只读取到一个字节

    奇怪的问题 当我从 com port 读取时SerialPort Read 那么如果数据到达 第一次调用时仅读取一个字节 忽略count参数和超时内可用的字节数 所有进一步的阅读都可以 只有第一个有问题 Using SerialPort D
  • 关键字不支持数据源

    我有一个带有默认成员资格数据库的 ASP NET MVC 应用程序 我通过 ADO NET 实体框架访问它 现在我想将其移至IIS 但出现了一些问题 我必须安装 SQL Server Management Studio 创建新数据库 导入之
  • 更改活动导航栏的颜色

    我正在使用一个简单的引导顶部固定导航栏 我想更改活动页面的颜色 但是我认为我的代码中缺少某些内容 div class navbar div class navbar fixed top div class container style w
  • 如何使用 Glide 获取 imageview 上的 URI

    我正在使用 Glide 将图像从服务器加载到 ImageView 我想知道是否可以从 imageview 本身中提取该 URI ImageView contentImage ImageView findViewById R id conte
  • 使用 tdbquery 查询 TDB 中的命名 RDF 图

    我正在尝试使用 tdbquery 程序查询新创建的 TDB 数据库 但是 我很难编写针对正确命名图的查询 我正在做以下事情 首先创建一个新数据集并添加一个名为 facts 的名称图 Dataset dataset TDBFactory cr
  • 我应该释放使用字符串文字初始化的 char* 吗?

    我应该自由吗char 使用字符串文字初始化变量时 对我来说 语法会让我假设它们只是堆栈分配的 但这个例子告诉我 它们不是 include
  • 如何foreach具有键值的多维数组

    我有一个带有键值的多维数组 我想循环该数组中的数据 但我不知道如何 这是我的数组 myArray Array 134 gt Array 1138 gt Array id gt 1138 qty gt 1 price gt 4900000 n
  • x64 汇编函数(调用/返回与推送/弹出/跳转)

    使用内置调用和返回指令与手动压入和弹出堆栈以及使用函数跳转之间有什么区别 从功能上讲 如果你做得正确 什么也没有 然而 它需要更多的指令和 或寄存器来模拟call ret using push pop 当然如果你真的想发挥到极致 你也可以效
  • 如何显示 JQPLOT 图形而不是长文本

    我在控制器类中有一个返回 JSON 数据的方法 public ActionResult ChartDataJSON Chart chart new Chart DataSet ds dbLayer GetChartData DataTabl
  • D3js 代码在调用两次时会复制图表而不是刷新

    这是我的 D3js 代码 function ShowGraph data var w 600 h 600 padding 36 p 31 barwidth 1 var bar height d3 scale linear domain d3
  • git分支工作流程策略

    我是 git 的新手 对 Git 有一点了解 我公司目前有1个方案 该方案分为5个产品 每个产品由不同的团队处理 目前我公司 git 有 5 个分支机构 例如 dev 该分支供开发人员构建程序 dev program com test al
  • 在 jsdom 加载的脚本中设置全局变量

    我正在尝试在 Node js 中运行一些浏览器代码以简化测试 deasync就是这个原因 目前 我使用jsdom解析唯一的html文件 起初 我试图让它也加载脚本 这些脚本链接在
  • 从文本文件中获取数据并将其显示在html表格中

    我为每一行都有一个这种模式的文本文件 Username Score 我正在尝试以此创建一个记分板 这是我的尝试 table width 200 border 1 tr td width 85 Nom td td width 99 Score
  • 如何循环访问 For 循环容器中以数字形式存储的日期值?

    我有一个For Loop Container使用日期作为InitExpression 加载日期 但该值采用数字格式 20120229 我需要这种方式 因为我无法修改它 现在 我想设置AssingExpression值以这样的方式 加载日期变
  • Oracle SQL相关更新

    我有三张桌子 t1 columns a c t2 columns a b t3 columns b c d 现在我想要的是用 t3 d 更新 t1 c 但我不能只使用 t1 c t3 c 从 t3 更新 t1 我还必须遍历 t3 b t2