2016-12-21 3 views
0

Ich habe das folgende Skript, das einen Datensatz in USEROUT erstellt, wenn der Benutzer in MOMUSER existiert, aber nicht in USEROUT existiert. Aber, ich brauche eine weitere Spalte in USEROUT namens FILENAME um sicherzustellen, dass wir den Datensatz erstellen, wenn der Benutzer nicht bereits einen Recorder in USEROUT für den FILENAME FORM.FRX ... viele Dinge ausprobiert haben - irgendwelche Ideen?SQL einfügen, wenn nicht mit einer anderen Spalte existiert

INSERT INTO USEROUT (CUSER, FILENAME) 
SELECT MOMUSER.CODE, 'FORM.FRX' 
FROM MOMUSER 
LEFT JOIN USEROUT ON MOMUSER.CODE = USEROUT.CUSER 
WHERE USEROUT.CUSER IS NULL 

Antwort

0

Verwenden Not Exists und das gewünschte Ergebnis erhalten:

INSERT INTO USEROUT (CUSER, FILENAME) 
    SELECT MOMUSER.CODE, 'FORM.FRX' 
    FROM MOMUSER 
    WHERE NOT EXISTS 
    (SELECT 1 FROM USEROUT WHERE CUSER = MOMUSER.CODE AND FILENAME = 'FORM.FRX') 
1
If NOT EXISTS (SELECT 1 FROM USEROUT WHERE CUSER = MOMUSER.CODE AND FILENAME = 'FORM.FRX') 
     Begin 
      INSERT INTO USEROUT (CUSER, FILENAME) 
      SELECT MOMUSER.CODE, 'FORM.FRX' 
      FROM MOMUSER 
     End 

Sie können auch diese Abfrage verwenden.

Verwandte Themen