Announcement

Collapse
No announcement yet.

insert wo in Tabelle 1 nicht da aber in Tabelle 2 vorhanden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • insert wo in Tabelle 1 nicht da aber in Tabelle 2 vorhanden

    Hallo schönen Sa morgen,

    ich bräuchte mal eine grobe Himmelsrichtung, dann bekomme ich das schon zusammen, aber mir fehlt total der Ansatz.

    Ich habe eine Tabelle in der alle Settings aufgelistet sind, individuell stehen die Werte für jeden Benutzer in einer Tabelle UserSettings. Kommt nun ein Setting dazu (Einstellung hört sich besser an), so muss diese Einstellung auch in der Tabelle UserSettings vorhanden sein.
    Ich dachte mir in diesem Zusammenhang, werden die Einstellungen für einen Benutzer ausgelesen, so wird im ersten Schritt die Tabelle UserSettings auf Vollständigkeit geprüft und ggf mit NULLs aufgefüllt. Im zweiten Schritt folgt dann ein normales Select. Zwar geht das auch mit einem Join ... glaube left outer - gib mir alle Zeilen von tbl Settings, aber zum Speichern sollten die Einträge schon richtig in der Tabelle UserSettings vorhanden sein.

    Was ich also brauche, auch wenn es sicher für manche komisch aussieht :

    INSERT INTO tblUserSettings
    SET tbl_UserSettings.intSettingID = tbl_Setting.intSettingID
    WHERE tbl_Setting.intSettingID NOT IN (SELECT intSettingID from tbl_UserSettings WHERE intUserID = 1) AND intUserID = 1

    Mir ist klar, dass das etwas wirr aussieht, aber ich hoffe es kommt rüber, was ich machen möchte.

    Schönes WE euch allen da Draussen

  • #2
    Ich probiere es mal ganz allgemein:

    insert into tbl_UserSettings(intUserID, intSettingID)
    select s1.intUserID, s2.intSettingID, null
    from tbl_UserSettings s1, tbl_Setting s2
    where not exists
    (select 1 from tbl_UserSettings s3 where
    s3.intUserID = s1.intUserID and
    s3.intSettingID = s2.intSettingID)

    keine Ahnung ob's funktioniert, vielleicht ist es zumindest die Himmelrichtung

    bye,
    Helmut

    Comment

    Working...
    X