使用不同表中的随机唯一值更新列

  • 本文关键字:唯一 随机 更新 sql oracle
  • 更新时间 :
  • 英文 :


我有一个表,比如Table1,它有Columns Referral_ID和Company Number,还有一个表Table2,它有很多唯一的Address IDS和Company Number。

我需要将唯一地址ID从表2随机带到表1,其中公司代码=公司代码?

我可以使用Oracle SQL执行此操作吗?

嗯。如果您想要任意地址,而不是随机的地址,则可以使用横向连接:

select t1.*, t2.*
from table1 t1 left join lateral
(select t2.*
from table2 t2
where t2.company_number = t1.company_number and rownum = 1
) t2
on 1=1;

如果你真的想要一个与每个公司号码相同的随机地址,你可以使用:

select t1.*, t2.*
from table1 t1 left join lateral
(select t2.*,
row_number() over (partition by company_number order by dbms_random.random) as seqnum
from table2 t2
) t2
on t2.company_number = t1.company_number and
seqnum = 1;

这里有一个db<gt;fiddle说明语法有效。

最新更新