Hallo,
ich versuche eine SQL zu schreiben, der redundante Datensätze löschen soll und zwar den ältesten Datensatz.
Die grundsätzliche Syntax ist mir klar:
Delete FROM Tabellenname [WHERE Bedingung]
Die Aufgabe, vor der ich stehe, ist etwas komplexer.
Ich habe zwei Tabellen, die miteinander verknüpft sind und in 1:1 Beziehung stehen. Die erste Tabelle heißt bio und hat ein Spalte UserId (Autoinkrement und Primärschlüssel) sowie eine Spalte Mail. Die zweite Tabelle heißt detail und hat eine Spalte Anfrage Id (Autoinkrement und Primärschlüssel), eine weitere Spalte Song und eine dritte Spalte Fremd (Fremdschlüssel - Wert UserId).
Nehmen wir an, dass ein User mehrere Songs einreicht. Die AGB sehen aber vor, dass jeder Teilnehmer nur ein Song einreichen kann. Sollte er doch mehrere einreichen, soll die Datenbank eine Abfrage ausführen und den älteren Datensatz aus den 2 Tabellen löschen. Zwar können so immer noch redundante Datensätze auftreten, aber die Hürde ist etwas höher.
Wie müsste die grundsätzliche Syntax lauten? Ich vergleiche die Werte in einer Tabelle, will aber dann den gemeinsamen Datensatz löschen?
Danke für Eure Hilfe!
ich versuche eine SQL zu schreiben, der redundante Datensätze löschen soll und zwar den ältesten Datensatz.
Die grundsätzliche Syntax ist mir klar:
Delete FROM Tabellenname [WHERE Bedingung]
Die Aufgabe, vor der ich stehe, ist etwas komplexer.
Ich habe zwei Tabellen, die miteinander verknüpft sind und in 1:1 Beziehung stehen. Die erste Tabelle heißt bio und hat ein Spalte UserId (Autoinkrement und Primärschlüssel) sowie eine Spalte Mail. Die zweite Tabelle heißt detail und hat eine Spalte Anfrage Id (Autoinkrement und Primärschlüssel), eine weitere Spalte Song und eine dritte Spalte Fremd (Fremdschlüssel - Wert UserId).
Nehmen wir an, dass ein User mehrere Songs einreicht. Die AGB sehen aber vor, dass jeder Teilnehmer nur ein Song einreichen kann. Sollte er doch mehrere einreichen, soll die Datenbank eine Abfrage ausführen und den älteren Datensatz aus den 2 Tabellen löschen. Zwar können so immer noch redundante Datensätze auftreten, aber die Hürde ist etwas höher.
Wie müsste die grundsätzliche Syntax lauten? Ich vergleiche die Werte in einer Tabelle, will aber dann den gemeinsamen Datensatz löschen?
Danke für Eure Hilfe!