Edit: hat sich mit einem einfachen Subquery erledigt:
insert into tabelle (id, titel) select id, 'B' from tabelle where titel != 'B' and id not in (select id from tabelle where titel = 'B');
Hi, ich moechte in eine Tabelle Datensaetze einfuegen unter der Bedingung eines Feldes in der gleichen Tabelle.
Meine Tabelle hat folgenden Aufbau: Das linke Feld mit einer mehrdeutigen ID, das rechte Feld je ein Wert dazu.
1111 A
2222 A
2222 B
2222 C
3333 A
So sind der ID 2222 die Werte A, B und C zugeordnet. Nun gibt es IDs, denen der Wert B nicht zugeordnet ist.
Und genau diese Datensaetze moechte ich in die Tabelle einfuegen. Am Ende sollte die Tabelle so aussehen:
1111 A
1111 B
2222 A
2222 B
2222 C
3333 A
3333 B
Bisher habe ich den Query:
insert into tabelle (id, titel) select id, 'B' from tabelle where titel != 'B';
Das Ergebnis ist aber:
1111 A
2222 A
2222 B
2222 C
3333 A
1111 B
2222 B
2222 B
3333 B
Wie muss ich den Query veraendern um id 2222 auszulassen?
Vielen Dank im Vorraus!
insert into tabelle (id, titel) select id, 'B' from tabelle where titel != 'B' and id not in (select id from tabelle where titel = 'B');
Hi, ich moechte in eine Tabelle Datensaetze einfuegen unter der Bedingung eines Feldes in der gleichen Tabelle.
Meine Tabelle hat folgenden Aufbau: Das linke Feld mit einer mehrdeutigen ID, das rechte Feld je ein Wert dazu.
1111 A
2222 A
2222 B
2222 C
3333 A
So sind der ID 2222 die Werte A, B und C zugeordnet. Nun gibt es IDs, denen der Wert B nicht zugeordnet ist.
Und genau diese Datensaetze moechte ich in die Tabelle einfuegen. Am Ende sollte die Tabelle so aussehen:
1111 A
1111 B
2222 A
2222 B
2222 C
3333 A
3333 B
Bisher habe ich den Query:
insert into tabelle (id, titel) select id, 'B' from tabelle where titel != 'B';
Das Ergebnis ist aber:
1111 A
2222 A
2222 B
2222 C
3333 A
1111 B
2222 B
2222 B
3333 B
Wie muss ich den Query veraendern um id 2222 auszulassen?
Vielen Dank im Vorraus!