webForumDet fria alternativet

Radera från tabell

2 svar · 353 visningar · startad av His Divine Shadow

His Divine ShadowMedlem sedan sep. 20004 079 inlägg
#1

Det var meningen att denna kod skulle radera från tabellen central alla poster där namn+efternamn också finns i tabellen kat, alltså ta bort dubletter, men den funkar inte:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=C:\DATA\webdata\Spakundregister.mdb;"

[B]strSql = "DELETE from Central WHERE (Central.Namn = Kat.Namn) AND (Central.Efternamn = Kat.Efternamn)"[/B]

Conn.Execute strSql, lngUpdates
Response.Write lngUpdates & " st. poster raderades."
%>

Har en SELECT som funkar fint men DELETE funkar inte, här är SELECT:

SQL = "Select Central.Namn, Central.Efternamn, Central.Location, Kat.Namn, Kat.Efternamn, Kat.Location from Central, Kat WHERE (Central.Namn = Kat.Namn) AND (Central.Efternamn = Kat.Efternamn)"

Jag kanske vet varför DELETE inte funkar men jag tror om jag gör det så raderas informationen ur båda tabellerna, vilket inte ska hända, alltså såhär:

strSql = "DELETE from Central[B], Kat[/B] WHERE (Central.Namn = Kat.Namn) AND (Central.Efternamn = Kat.Efternamn)"

Nån som vet hur jag gör för att endast ta bort från en tabell?

LarsGMedlem sedan dec. 200012 464 inlägg
#2
DELETE from Central 
WHERE exists(
    select * from kat
   where Central.Namn = Kat.Namn
      and  Central.Efternamn = Kat.Efternamn)
His Divine ShadowMedlem sedan sep. 20004 079 inlägg
#3

Tackar, funkade fint :)

132 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)