sql >> Database >  >> RDS >> Oracle

Kolom bijwerken met willekeurige unieke waarden uit een andere tabel

Hmmm. . . U kunt een laterale join gebruiken als u een willekeurige . wilt adres in plaats van een willekeurig adres:

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;

Als je echt een willekeurig adres wilt dat hetzelfde is per ondernemingsnummer, kun je gebruik maken van:

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;

Hier is een db<>viool die aantoont dat de syntaxis werkt.




  1. Many2many-veld invullen (odoo 8)

  2. NOT DISTINCT-query in mySQL

  3. Hoe kan ik alle tabellen in een PostgreSQL-database laten vallen?

  4. IW en MM gebruiken in Oracle