sql >> Database >  >> RDS >> PostgreSQL

Een veel-op-veel-relatie converteren naar een-op-veel in PostgreSQL

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

Als u meerdere rijen zou moeten hebben voor één bar (wat volgens uw beschrijving niet zou moeten) de ene rij wordt meerdere keren bijgewerkt en het resultaat is willekeurig.

Deze vorm van de zoekopdracht presteert over het algemeen beter dan een gecorreleerde subquery.

Merk op dat de primaire sleutel van bar zou eigenlijk bar_id moeten heten - Ik gebruik die naam in de zoekopdracht.



  1. Dapper gebruiken met Oracle

  2. Hoe XML-canonieke vergelijking te maken met PostgreSQL?

  3. Controleer of rij bestaat, Laravel

  4. Hoe PHP MySQL-databaseverbinding te testen met behulp van script