sql >> Databasteknik >  >> RDS >> Oracle

Oracle SQL-korrelerad uppdatering

Om det finns ett ett-till-många-förhållande mellan t1 och t2 eller mellan t2 och t3 får du många matchningar för varje rad i t1. Om du vet att alla rader i t3 som hör till samma rad i t1 har samma värde i d, då kan du använda DISTINCT för att ta bort (identiska) dubbletter.

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. Skapa Oracle Cursor med Java-program

  2. SQL-duplicerade rader med flera vänsterkopplingar

  3. Introduktion till SQL Joins

  4. Ramen för ett Apache Spark Job Run!