Hallo zusammen,
in einer MySQL Tabelle "accdep" stehen Kostenstellen ID's und Abteilungs ID's
ID,AccID,DepID
1 4 11
2 6 2
Die Tabelle "departments" enthält die Namen der Abteilungen
Jetzt möchte ich prüfen ob in "accdep" alle Abteilungs IDs vorkommen die in der Tabelle "departments" drin sind. Wenn nicht sollen diese eingetragen werden mit einer Default Kostenstelle ID.
Ich versuche das mit einem Insert und SubSelect
INSERT INTO accdep (DepartmentsID) SELECT
A.DepartmentsID
FROM departments A
LEFT JOIN accdep B ON A.DepartmentsID = B.DepartmentsID
WHERE B.DepartmentsID IS NULL
So funktiojiert es zwar aber hier habe ich ja noch keine Default Kostenstelle.
Wenn ich es so versuche mit der Variablen $accountid_default und zusätzlicher Spalte "AccountID" bekomme ich einen MySQL Fehler;
$DBO->exec("INSERT INTO (DepartmentsID,AccountID) VALUES ((SELECT
A.DepartmentsID
FROM departments A
LEFT JOIN accdep B ON A.DepartmentsID = B.DepartmentsID
WHERE B.DepartmentsID IS NULL),'$accountid_default')") ;
Wie muss die Schreibweise sein damit es kein Syntax Fehler gibt?
Könnte man das Ganze auch anders lösen?
vielen Dank und viele Grüße
hawk