Hallo
Ich habe eine Tabelle mit aktuellen Einträgen (Aktuell) und neuen Einträgen (Neu).
Jetzt möchte ich folgende Aufgaben so einfach wie nur möglich machen.
1. Ich möchte überprüfen welche Einträge aus Neu in Aktuell vorhanden sind. Wenn Sie vorhanden sind, möchte ich wissen ob die Zeilen 1:1 stimmen. Wenn nicht, dann möchte ich einen Wert in Aktuell ändern.
2. Es soll geprüft werden ob in Aktuell Einträge sind, die in Neu nicht vorhanden sind. Wenn ja, dann wird ein Wert geändert.
3. möchte ich
prüfen, welche Einträge in Neu vorhanden sind, aber in Aktuell nicht. Diese sollten dann in Neu geändert werden.
Ich möchte diese Schritte alle in SQL lösen, da es für PHP zu viel wäre und einfach zu lange dauern würde.
Meiner ersten Versuche waren ein paar Joins, ist aber nichts dabei raus gekommen. Dann hab ich das noch mal alles geändert und wollte es mit SubQuerys machen. Wobei mir dabei auch nichts eingefallen ist, was wirklich Sinn machen würde.
Hiermit wollte ich alle Einträge von neu auslesen und mit aktuell vergleichen. Wenn ID vorhanden ist, soll nichts passieren. Wenn nicht, soll die Zeile von neu nach aktuell kopiert werden und dann den Status auf neu setzen.
Code:
SELECT * FROM Neu AS t1
IF(ID = (SELECT ID FROM aktuell AS t2 WHERE ID = t1.ID),
'',
(INSERT INTO t2
(ID, Name, Wert1, Wert2,)
SELECT ID, Name, Wert1, Wert2 FROM t1 WHERE ID = t1.ID)
UPDATE t2 SET status= 'neu');
Ich bin für jede Hilfe dankbar.