Just nu i M3-nätverket
Jump to content

Ta bort poster med Delete + Join i SQL Server


writetoandy
 Share

Go to solution Solved by .M,

Recommended Posts

writetoandy

Hej,

 

Jag har två tabeller i SQL Server som jag vill jämföra: tmpUser och UnitGebruikers.

Jag kör följande SQL-skript för att se vad som skiljer sig mellan tabellerna:

SELECT t.HSAId AS HSAIDtmpUsers, u.HSAId AS HSAIDGebruikers, u.UserInitialen AS UserGebruikers, t.UserInitialen AS UsertmpUsers
FROM   tmpUsers AS t RIGHT JOIN
             UnitGebruikers AS u ON t.HSAId = u.HSAId

 

Resultat

Rad 1-2: Användare som finns i båda tabellerna

Rad 3: Användaren finns endast i UnitGerbuikers

image.png.179276e72259141dd558d2deec3fdcb6.png

Jag vill göra följande: Om en användare inte finns i tmpUser, men finns i UnitGebruikers vill jag ta bort användaren i UnitGebruikers. Testade följande SQL-skript:

DELETE UnitGebruikers
FROM   UnitGebruikers AS u
RIGHT JOIN tmpUsers AS t ON t.HSAId = u.HSAId WHERE t.HSAId ISNULL

 

Resultat: 

Citat

Msg 4145, Level 15, State 1, Line 3
An expression of non-boolean type specified in a context where a condition is expected, near 'ISNULL'.

Datatypen för kolumnen HSAID är nvarchar(50)

Link to comment
Share on other sites

Det är inte så ISNULL fungerar om jag minns rätt, du behöver ett mellanslag när det är i en where.

DELETE UnitGebruikers
FROM   UnitGebruikers AS u
RIGHT JOIN tmpUsers AS t ON t.HSAId = u.HSAId WHERE t.HSAId IS NULL

 

Link to comment
Share on other sites

writetoandy
14 minuter sedan, skrev .M:

Det är inte så ISNULL fungerar om jag minns rätt, du behöver ett mellanslag när det är i en where.



DELETE UnitGebruikers
FROM   UnitGebruikers AS u
RIGHT JOIN tmpUsers AS t ON t.HSAId = u.HSAId WHERE t.HSAId IS NULL

 

Testade det också och då fick jag faktiskt (0 rows affected). En rad borde påverkats med tanke på att rad 3 i enligt tidigare inlägg skiljer sig.

Edited by writetoandy
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share



×
×
  • Create New...