Sono stato davvero riluttante a postare questo perché ritengo che sia un problema comune, ma non riesco a trovare una risposta valida per questa situazione ... (forse sono solo un googler veramente cattivo).Elimina basato sulla chiave composita da un'altra tabella
Ho due tabelle identiche (colonna saggio, non dati), tabella1 e tabella2. Desidero cancellare i record nella tabella 1 in cui la chiave composta (col1, col2) esiste in entrambe le tabelle. Ecco quello che ho, che mi sembra corretto, ma sta commettendo un errore.
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)
Errore:
Msg 4145, Level 15, State 1, Line 212 An expression of non-boolean type specified in a context where a condition is expected, near ','.
ho messo due *
attorno alla porzione di codice che ha 'scarabocchi rosso di errore'.
Credo che questo sia SQL SERVER? – gdoron
Sì, mi dispiace. Dovrebbe essere stato più specifico. Qui al lavoro ci limitiamo a fare riferimento a SQL-SERVER come SQL e Oracle come Oracle. – Jeff
Dato che Oracle è molto più "vecchio" di SQL Server, una convenzione bizzarra ma ... se rende felice il tuo capo e tu sei più ricco, perché no? – gdoron