更新依赖于同一表中所有其他两个列的列

时间:2018-07-05 14:22:35

标签: sql oracle

我有一个用户列,每个用户都有一个或多个分支机构(数字数据类型),每个用户拥有的分支机构的数目取决于他(用户)使用的货币(字符串数据类型)。 现在,我想通过赋予分支机构欧元货币的分支机构数量来改变分支机构的数量,但仍取决于用户。 例如:用户A有3个分支:

123 for euro
145 for usd
489 for gbp

更改后,我希望它成为:

123 for euro
123 for usd
123 for gbp

我希望所有用户都可以使用此更改,并且每个用户都有自己的欧元分行号码

1 个答案:

答案 0 :(得分:1)

根据您所写的内容,可能会起作用

UPDATE Your_Table YT1
   SET YT1.branch = 
         ( SELECT DISTINCT YT2.branch
             FROM Your_Table YT2
            WHERE UPPER(YT2.currency) = 'EURO'
              AND YT1.user = YT2.user
         );

如果用户没有“欧元”记录,您希望如何处理?