Inserts in MS-SQL Datenbank für Relationen, die nicht erfüllt sind
In Datensätze in einer SQL-Tabelle finden, die KEINE Relation zu einer anderen Tabelle aufweisen habe ich nach der Suche nach Datensätzen gefragt, die in einer verknüpften Datenbank NICHT vorkommen:
Ich habe 2 verknüpfte Tabellen (in Tabelle a wird mittels des Feldes ID_b auf Tabelle b verwiesen).
Es sollen alle Einträge in Tabelle b selektieren werden, auf die nicht von Tabelle a aus verwiesen wird...
Gelöst wurde das dann durch
select * from TabelleB where ID not in (select ID_b from TabelleA)
Nun stehe ich vor dem Problem, dass ich in Tabelle a Einträge für diese in Tabelle B existierenden Datensätze erstellen will.
Also etwas in der Art:
Insert into TabelleB (id) values (TabelleA.id_b) where ID not in (select ID_b from TabelleA)
Doch hier bekomme ich als Fehlermeldung immer nur "Fehlendes Semikolon am Ende der SQL-Anweisung" - und "where" ist markiert...
Ciao
dirk
Ich habe 2 verknüpfte Tabellen (in Tabelle a wird mittels des Feldes ID_b auf Tabelle b verwiesen).
Es sollen alle Einträge in Tabelle b selektieren werden, auf die nicht von Tabelle a aus verwiesen wird...
Gelöst wurde das dann durch
select * from TabelleB where ID not in (select ID_b from TabelleA)
Nun stehe ich vor dem Problem, dass ich in Tabelle a Einträge für diese in Tabelle B existierenden Datensätze erstellen will.
Also etwas in der Art:
Insert into TabelleB (id) values (TabelleA.id_b) where ID not in (select ID_b from TabelleA)
Doch hier bekomme ich als Fehlermeldung immer nur "Fehlendes Semikolon am Ende der SQL-Anweisung" - und "where" ist markiert...
Ciao
dirk
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 176779
Url: https://administrator.de/contentid/176779
Ausgedruckt am: 22.11.2024 um 20:11 Uhr
2 Kommentare
Neuester Kommentar
Zitat von @diwaffm:
In Datensätze in einer SQL-Tabelle finden, die KEINE Relation zu einer anderen Tabelle aufweisen habe ich nach der Suche nach Datensätzen gefragt, die in einer
verknüpften Datenbank NICHT vorkommen:
Ich habe 2 verknüpfte Tabellen (in Tabelle a wird mittels des Feldes ID_b auf Tabelle b verwiesen).
Es sollen alle Einträge in Tabelle b selektieren werden, auf die nicht von Tabelle a aus verwiesen wird...
Gelöst wurde das dann durch
select * from TabelleB where ID not in (select ID_b from TabelleA)
Nun stehe ich vor dem Problem, dass ich in Tabelle a Einträge für diese in Tabelle B existierenden Datensätze
erstellen will.
Also etwas in der Art:
Insert into TabelleB (id) values (TabelleA.id_b) where ID not in (select ID_b from TabelleA)
Doch hier bekomme ich als Fehlermeldung immer nur "Fehlendes Semikolon am Ende der SQL-Anweisung" - und
"where" ist markiert...
Ciao
dirk
In Datensätze in einer SQL-Tabelle finden, die KEINE Relation zu einer anderen Tabelle aufweisen habe ich nach der Suche nach Datensätzen gefragt, die in einer
verknüpften Datenbank NICHT vorkommen:
Ich habe 2 verknüpfte Tabellen (in Tabelle a wird mittels des Feldes ID_b auf Tabelle b verwiesen).
Es sollen alle Einträge in Tabelle b selektieren werden, auf die nicht von Tabelle a aus verwiesen wird...
Gelöst wurde das dann durch
select * from TabelleB where ID not in (select ID_b from TabelleA)
Nun stehe ich vor dem Problem, dass ich in Tabelle a Einträge für diese in Tabelle B existierenden Datensätze
erstellen will.
Also etwas in der Art:
Insert into TabelleB (id) values (TabelleA.id_b) where ID not in (select ID_b from TabelleA)
Doch hier bekomme ich als Fehlermeldung immer nur "Fehlendes Semikolon am Ende der SQL-Anweisung" - und
"where" ist markiert...
Ciao
dirk
Insert into TabelleA (ID_B)
select id from TabelleB where ID not in (select ID_b from TabelleA);
Das funktioniert aber nur, wenn in Tabelle A alle anderen Felder NULL sein dürfen bzw. Autoincrement sind z.B. PK
Da in Thema 1 kein Wort von deiner Datenstruktur steht, setzte ich ein bisschen
Kenntnis beim Auffüllen von Pflichtfeldern voraus.
Gruß