【发布时间】:2020-05-13 16:42:21
【问题描述】:
我需要使用 join 和 group by 语句更新表中的一些行。这是我的 SQL 脚本:
update (select t1.name, t1.status as newStatus , count(table2.id) from table1 t1
full outer join table2 t2 on (t1.id = t2.table1_id)
where t1.status = 'Old Status'
group by t1.name, t1.status
having count(t2.id) = 0) res
set res.newStatus = 'New Status';
由于“分组依据”语句,这似乎是不可能的,因为我收到以下错误消息:
ORA-01732:“此视图上的数据操作操作不合法”
谁能帮我找到另一种方法来做到这一点?
【问题讨论】:
-
请提供样本数据和期望的结果。
full join和group by在update中都没有意义。目前还不清楚您要做什么。
标签: sql oracle group-by inner-join