sql >> Database teknologi >  >> RDS >> PostgreSQL

Konvertering af et mange-til-mange-forhold til en-til-mange i PostgreSQL

UPDATE bar b
SET    foo_id = fb.foo_id
FROM   foo_bar fb
WHERE  fb.bar_id = b.bar_id;

Hvis du skal have flere rækker for én bar (hvilket du ikke burde ifølge din beskrivelse) den ene række vil blive opdateret flere gange, og resultatet er vilkårligt.

Denne form for forespørgslen fungerer generelt bedre end en korreleret underforespørgsel.

Bemærk, at den primære nøgle til bar skal virkelig hedde bar_id - Jeg bruger det navn i forespørgslen.



  1. MySQL :AVG af AVG umuligt?

  2. Sådan tilføjes et sæt nøgler (UniqueID'er) til en Temp-tabel for senere at INDSÆTTE i produktionstabel

  3. databaseforbindelse virker ikke i jar, men virker i eclipse

  4. Java, MySQL:Er der en måde at integrere en MySQL-server med et Java-program?