Ich habe wirklich ungern gepostet, weil ich denke, es ist ein häufiges Problem, aber ich kann nicht scheinen, eine Antwort zu finden, die für diese Situation gilt ... (vielleicht bin ich nur ein wirklich schlechter googler).Löschen basierend auf zusammengesetzten Schlüssel aus einer anderen Tabelle
Ich habe zwei identische Tabellen (Spalte weise, keine Daten), Tabelle1 und Tabelle2. Ich möchte die Datensätze in Tabelle1 löschen, in denen der zusammengesetzte Schlüssel (col1, col2) in beiden Tabellen vorhanden ist. Hier ist was ich habe, was mir richtig erscheint, aber einen Fehler wirft.
DELETE FROM Table1
WHERE (**Col1**, Col2) IN
(SELECT Col1, Col2
FROM Table1 a
JOIN Table2 b
ON a.Col1 = b.Col1
AND a.Col2 = b.Col2)
Fehler:
Msg 4145, Level 15, State 1, Line 212 An expression of non-boolean type specified in a context where a condition is expected, near ','.
ich zwei *
um den Teil des Codes gesetzt haben, die 'Red Fehler squiggles' hat.
Ich glaube, das ist SQL-Server? – gdoron
Ja, tut mir leid. Hätte genauer sein sollen. Hier bei der Arbeit beziehen wir uns nur auf SQL-SERVER als SQL und Oracle als Oracle. – Jeff
Da Oracle ist viel "älter" als SQL-Server, seltsame Konvention, aber ... wenn es Ihren Chef glücklich und Sie reicher machen, warum nicht! – gdoron