sql - 合并语句给我“无法获得一组稳定的行”错误
问题描述
我有两个表,我试图在一组公共列上合并:
table1
project|supplies|part|ship|delivery
A1|B2|C3|01012018|02012018
A1|B3|C4|01022018|02022018
A2|B1|C1|01032018|02032018
和
table2
project|supplies|part|amount
A1|B2|C3|100
A1|B3|C4|200
A2|B1|C1|300
预期的输出是:
project|supplies|part|amount|ship|delivery
A1|B2|C3|100|01012018|02012018
A1|B3|C4|200|01022018|02022018
A2|B1|C1|300|01032018|02032018
我尝试使用的代码如下,但它会引发ORA-30926: unable to get a stable set of rows in the source tables
错误
MERGE INTO table2 t2
USING (select DISTINCT projects,supplies,part,ship,deliver FROM table1) t1
ON (t2.project = t1.project)
WHEN MATCHED THEN
UPDATE SET t2.ship = t1.ship,
t2.deliver = t1.delivery
WHERE t1.part = t2.part
AND t1.project = t2.project
AND t1.supplies = t2.supllies;
我也试过:
MERGE INTO table2 t2
USING table1 t1
ON (t2.project = t1.project
AND t2.part = t1.part
AND t2.supplies = t1.supplies)
WHEN MATCHED THEN
UPDATE SET t2.ship = t1.ship,
t2.deliver = t1.delivery;
但得到同样的错误
解决方案
推荐阅读
- javascript - 当 setTimeout 执行多次时,希望覆盖之前的 setTimeout
- python - 无法解密通过 Python 中的密码库加密的 RSA
- discord.js - 无法读取未定义的属性“发送”(来自 reddit 的图像抓取器)
- javascript - TypeError:setSubMenuOpen 不是 onClick 函数
- java - 尝试启动 NIFI 时 JAVA_HOME 无效
- python - Matlibplot 用于生成红外传感器的热图(python)
- php - v11 和 v12 之间的 Facebook Graph API 问题
- python - 如何在仅使用 Python 将鼠标悬停在地图/图像的某些部分上时才显示的 HTML 页面上的网络抓取数据?
- javascript - 当玩家移动小于瓷砖大小时,Javascript瓷砖地图碰撞检测
- linux - 如何获取包括子目录在内的所有文件?(mget -R * 不是常规文件/没有这样的文件或目录)