dmr*_*dmr 1 sql select sql-server-2000 sql-delete
我想删除此select查询返回的任何内容:
SELECT u.*
FROM (
SELECT userName, groupId, MAX(userId) AS maxId
FROM userTable
where userName <> '' and userName is not null
GROUP BY
userName, groupId
HAVING COUNT(*) > 1
) q
JOIN userTable u
ON u.userName = q.userName
AND u.groupId= q.groupId
AND u.userId <> q.maxId)
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
Mic*_*ren 10
像这样构建你的删除:
DELETE U
FROM U ...
JOIN Q ...
WHERE Foo ...
Run Code Online (Sandbox Code Playgroud)
或者,如果您已经有了一个漂亮的查询,您可以这样做:
DELETE Usertable WHERE userId IN (
SELECT UserID FROM ... /* big complex query here */
)
Run Code Online (Sandbox Code Playgroud)