Jens Schärer: UPDATE Tabelle - Datenabgleich

Hallo,

ich hab eine Tabelle Category und eine Tabelle CategoryContent... beide enthalten je name und description mit identischen Inhalten in beiden Tabellen.
Category enthält den ForeignKey categorycontent_id und soll die entsprechende ID vom Eintrag aus CategoryContent bekommen...
Lösungsansatz von mir:

UPDATE Category SET categorycontent_id = (SELECT CategoryContent.categorycontent_id FROM CategoryContent WHERE CategoryContent.name = name)

allerdings kommt da (nachvollziehbar) die Meldung, dass mehr als eine Zeile im Subselect zurückgegeben wird. Irgendwer eine Idee wie ich so einen Datenabgleich realisiere mit SQL? Der SQL-Code oben dient nur zur Erläuterung was ich vorhab, dass es so nicht funktioniert ist mir klar!

Gruß,
Jens

  1. UPDATE Category SET categorycontent_id = (SELECT CategoryContent.categorycontent_id FROM CategoryContent WHERE CategoryContent.name = name)

    allerdings kommt da (nachvollziehbar) die Meldung, dass mehr als eine Zeile im Subselect zurückgegeben wird. Irgendwer eine Idee wie ich so einen Datenabgleich realisiere mit SQL? Der SQL-Code oben dient nur zur Erläuterung was ich vorhab, dass es so nicht funktioniert ist mir klar!

    Der Operator IN in der WHERE-Klausel hilft meist.