Scusate il titolo ma sinceramente non sapevo cosa scrivere...
Allora...ho 3 tabelle:

Contatti - contiene tutti i contatti
TicketCampagna - contiene tutti i ticket assegnati ai contatti
AssociaContatti - contiene tutti i contatti associati ad una campagna specifica

IsContatti e IS_TicketCampagna sono legati tramite il RecId di Contatti e ContattiLink_RecID di IS_TicketCampagna;
IsContatti ed AssociaContatti sono legati tramite CodiceCliente (stesso nome in entrambe le tabelle).

Lo scopo è associare i contatti non ancora associati alla campagna data.

Quindi dovrei cercare tutti i contatti che possono o non possono essere presenti in IS_TicketCampagna e possono o non possono essere presenti in AssociaContatti; nel caso siano presenti in AssociaContatti, però, NON devono essere presenti per il CodiceCampagna dato (cioè i contatti possono tranquillamente essere già associati ad un'altra campagna, l'importante è che non siano già associati alla campagna data).

Avevo pensato a - mettiamo io voglia associare tutti quelli con cap 00131 alla campagna 10122:

SELECT *
FROM IsContatti
LEFT JOIN IS_TicketCampagna
ON IsContatti.RecId = IS_TicketCampagna.ContattiLink_RecId
LEFT JOIN AssociaContatti
ON IsContatti.CodiceCliente = AssociaContatti.CodiceCliente
WHERE IsContatti.Cap = '00131'

...e qui mi blocco...perchè dovrei controllare che per quella campagna non ci siano, quindi in AssociaContatti dovrei avere campi con valore NULL.... ma come proseguo?

AND AssociaContatti.CodiceCampagna = 10122

ma non mi esce alcun record...
potete aiutarmi?
Grazie mille...