Oracle
 sql >> база данни >  >> RDS >> Oracle

Актуализация, свързана с Oracle SQL

Ако има връзка едно към много между t1 и t2 или между t2 и t3, ще получите много съвпадения за всеки ред в t1. Ако знаете, че всички редове в t3, които принадлежат на един и същи ред в t1, имат една и съща стойност в d, тогава можете да използвате DISTINCT за премахване на (идентични) дубликати.

UPDATE table1 t1
   SET t1.c = (select DISTINCT t3.d
               from table2 t2, table3 t3
               where t2.b = t3.b and t1.a = t2.a)                                  
 WHERE EXISTS ( SELECT 1 FROM table2 t2, table3 t3 WHERE t1.c = t3.c and t1.a = t2.a);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да форматирате число със запетая в Oracle

  2. как да изберете най-често появяващите се стойности?

  3. Как да създадете потребител и да предоставите разрешения в Oracle

  4. Как да нулирам автоматично стойността на последователност на 0 всяка година в Oracle 10g?

  5. Използване на последователни стойности за първичния ключ в заявка INSERT