sql - 在 SQL 中进行左外连接时出现 Sql 语法错误
问题描述
我正在使用 oracle 数据库并试图从中删除重复的记录。同样,我编写了以下查询,但收到此错误
SQL Error: ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
它在查询中的outer
关键字下给出红色指示符。Left outer join
询问:
DELETE FROM Duplicate LEFT OUTER JOIN (
SELECT MIN(RowId) as RWID, STUDENT_NAME, STUDENT_ROLLNO, STUDENT_SUBJECT
FROM Duplicate
GROUP BY STUDENT_NAME, STUDENT_ROLLNO, STUDENT_SUBJECT
) as KeepRows ON
Duplicate.RowId = KeepRows.RWID
WHERE KeepRows.RWID IS NULL;
解决方案
我能猜到的是您正试图从Duplicate
表中删除重复的记录。从 Oracle 的角度来看,您的语法似乎不正确。您可以尝试以下查询 -
DELETE Duplicate D1
WHERE D1.ROWID NOT IN (SELECT MIN(RowId)
FROM Duplicate
GROUP BY STUDENT_NAME, STUDENT_ROLLNO, STUDENT_SUBJECT)
推荐阅读
- vba - 查找间接依赖于 activecell (VBA) 的单元格
- express - express.js 中的后端服务出错
- javascript - classList.toggle 仅部分有效
- java - 我可以使用多个线程在一个面板上同时使用 Java Graphics2D 绘图吗?
- python - 使用 Python SciKit 进行随机森林回归 在具有多个通道的时间序列列表中学习
- javascript - 将会话存储值更改为未定义应该会影响 ngIf 而无需单击两次
- jquery - 将 Prev 和 Next 按钮调整到表格的角落
- javascript - 使用 Leaflet.TimeDimension 插件时如何在可点击的弹出窗口中显示 GPX 轨道名称(和/或描述)
- angular - rxjs Observable 导入问题
- dart - 无法弄清楚如何从列表中分配正确的答案值
在颤振的多项选择测验中,