Questione : MySQL: Come aggiornare le annotazioni con la sottoselezione in dove clausola

Ho migrato la mia applicazione da MSSQL a MySQL e questa è l'ultima domanda che non posso calcolare fuori.  Ho una tabella di unire denominata ContactOwner che permette che molti AppUsers (AppUserOwnerId) sia associato con molti contatti (ContactId).  Nei termini semplici, permette che l'applicazione conosca che utenti possiedono un contatto particolare.  Vorrei cancellare tutte le file per un AppUser dove è “un comproprietario„ con un altro utente specifico.  La domanda sotto ha fatto il trucco in MSSQL, ma gli oggetti di MySQL alla sottoselezione vicino al “„ in clause.

-- Cancella tutte le file dove appUserId1 possiede in comune un contatto con AppUserId2 (per appUserId1 soltanto - il rown di appUserId2 ancora rimane)
Delete dal
di ContactOwner dove AppUserIdOwner = 1 e
ContactId dentro (contactId prescelto da ContactOwner dove colonna 1 del
della Tabella di 2)

ContactOwner: Colonna 2 di ContactId
: AppUserIdOwner

Is là un altro senso pelare questo gatto?  Preferirei la soluzione ancora per essere un singolo SQL statement.
class= del

Risposta : MySQL: Come aggiornare le annotazioni con la sottoselezione in dove clausola

Usare un UNIRE.
1:
2:
3:
4:
5:
6:
7:
CANCELLARE il co
Da ContactOwner co
INTERNO UNIRE il lkup di ContactOwner
   SU lkup.ContactID = co.ContactID
DOVE co.AppUserIdOwner = 1
E lkup.AppUserIdOwner = 2
;
Altre soluzioni  
 
programming4us programming4us