Delete join | SQL & MySQL

Topic: Pubblico - Composto da 2 Posts di 2 Utenti.

23 Novembre, 2011 14:43 #1
piratolo
Utente

piratolo
Registrato: Nov, 2011
Posts: 11
Offline

Ciao,
devo cancellare da due tabelle diverse dei record che hanno un certo id.

invece di fare due query diverse come queste
1) delete from muscoli where id = 231
2) delete from sezione_corpo where id = 231

Si può fare una sorta di join per scrivere una query sola?
Ho cercato qualcosa in rete ma non sono riuscito a torvare indicazioni che mi facessero capire la logica con la quale scrivere la query che mi serve.
Qualcuno può aiutarmi?
Grazie

25 Novembre, 2011 08:32 #2
darasc
Moderatore

darasc
Registrato: Jul, 2010
Posts: 64
Offline

Ciao,

ti faccio un esempio per capirci al volo.
Supponendo di avere due tabelle t1 e t2 dove t1 ha un riferimento a t2 tramite il campo t2_id.

Se effettui la query

1delete t2
2
3from t1,t2
4
5where t1.t2_id=t2.id and [altri criteri]

verranno eliminate tutte le righe di t2 che soddisfano i criteri della where.
Se vuoi eliminare sia le righe della tabella t1 che della tabella t2 basta modificare la clausola delete

1delete t1,t2

Condividi su:

Loggati o Registrati per replicare