Query per eliminare record da tabella X in base a tabella Y

venerdì 25 aprile 2014 - 06.14
Tag Elenco Tags  SQL Server 2008

gsistemi Profilo | Junior Member

Avrei bisogno di una query che mi elimina i record dalla tabella X che contengono il testo contenuto in una tabella Y.

Esempio
Tabella X
id | link
1 | www.google.com
2 | www.dotnethell.it
3 | www.facebook.com

Tabella Y
id | testo
1 | facebook.com
2 | google.com

La query dovrebbe eliminare i record con id 1 e 3 dalla tabella X perchè hanno parte del testo che corrisponde al campo "testo" della tabella Y.

Grazie!

boccia75 Profilo | Junior Member

Ciao,
io farei in questo modo:

delete from x where id in (
select x.id from x,y where link like '%'+testo+'%')

mi sembra che funzioni.
Ciao,
Luca

alx_81 Profilo | Guru

>delete from x where id in (
> select x.id from x,y where link like '%'+testo+'%')
Puoi anche utilizzare la forma JOIN come ti ho messo qui:
http://sqlfiddle.com/#!6/2c821/1
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
http://mvp.microsoft.com/profiles/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5