Hallo,
ich würde gerne eine Masterdatei m updaten mit Daten r, die aus einer anderen Tabelle n stammen. Dabei müssen alle Records von m wieder vorhanden sein. Nun ist mir aufgefallen: INNER JOIN ergibt mir dasselbe wie LEFT JOIN. Im Internet und der MySQL-Dokumentation gibt es jedoch keinen Hinweis, dass INNER und LEFT OUTER join dieselben Resultate ergeben, sondern dass man die joins bei einem UPDATE wie bei einem SELECT verwenden kann. Nun bin ich mir nicht sicher und würde gerne von Euch wissen, ob es OK ist, einfach nur INNER JOIN zu verwenden für ein update der Masterdatei (ohne Verlust von Records).
Besten Dank für Hilfe
giordano
ich würde gerne eine Masterdatei m updaten mit Daten r, die aus einer anderen Tabelle n stammen. Dabei müssen alle Records von m wieder vorhanden sein. Nun ist mir aufgefallen: INNER JOIN ergibt mir dasselbe wie LEFT JOIN. Im Internet und der MySQL-Dokumentation gibt es jedoch keinen Hinweis, dass INNER und LEFT OUTER join dieselben Resultate ergeben, sondern dass man die joins bei einem UPDATE wie bei einem SELECT verwenden kann. Nun bin ich mir nicht sicher und würde gerne von Euch wissen, ob es OK ist, einfach nur INNER JOIN zu verwenden für ein update der Masterdatei (ohne Verlust von Records).
Besten Dank für Hilfe
giordano
Code:
CREATE TABLE m (id INTEGER, y CHAR(1) ); INSERT INTO m (id,y) VALUES (1,'a'), (2,'b'), (3,'c'); create table n (id INTEGER, r CHAR(1) ) INSERT INTO n (id,r) VALUES (1,'f'), (2,'g'); ALTER TABLE m ADD t CHAR(1); UPDATE m INNER JOIN n ON m.id = n.id SET t = r
Comment