求根据不同条件更新的update语句

the7thsense 2007-12-12 11:44:40
有兩個表,結構如下
table1(pk = bucd)
bucd deptcd
一子公司 一子公司一部門
二子公司 一子公司一部門
三子公司 一子公司一部門
四子公司 一子公司一部門

table2 (pk = bucd,deptcd)
bucd deptcd
一子公司 一子公司一部門
一子公司 一子公司二部門
一子公司 一子公司三部門
二子公司 二子公司一部門
二子公司 二子公司二部門
三子公司 三子公司一部門
四子公司 四子公司一部門

現在想更新table1中的deptcd,使它與ducd對應
實現效果如下
table1(pk = bucd)
bucd deptcd
一子公司 一子公司一部門
二子公司 二子公司一部門
三子公司 三子公司一部門
四子公司 四子公司一部門
deptcd為它所屬子公司的任意下屬部門就行,沒有特殊要求。

我寫了一個語句是這樣的
UPDATE a SET a.deptcd = min(b.deptcd) FROM table1 a,table2 b WHERE b.bucd = a.bucd
可是提示我不可以用函數,求高手指點,先拜一下,謝謝了
...全文
336 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
the7thsense 2007-12-12
  • 打赏
  • 举报
回复
多謝了,剛試過了,結貼了
Croatia 2007-12-12
  • 打赏
  • 举报
回复
嗬嗬,基本上就是这个样子了。

SQL不可以随心所欲乱写的。都有他们自己的标准,不要弄混了。
可以查看oracle的手册的。
Croatia 2007-12-12
  • 打赏
  • 举报
回复
UPDATE table1 a SET a.deptcd =
( select
min(b.deptcd) FROM table2 b WHERE b.bucd = a.bucd

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧