我有一个名为FriendRequests的表,其中包含例如Id,RequestFrom和RequestTo
具有例如
的数据Id RequestFrom RequestTo
1 3C24B040-3CE2-46B6-950F-D76A8275505D 4C668138-BB4F-4228-9946-44DED1851C51
2 4C668138-BB4F-4228-9946-44DED1851C51 3C24B040-3CE2-46B6-950F-D76A8275505D
所以现在我想知道有多少这样的组合缺失。对于例如该表只有一行而第二行缺失。
我试过这个但没有工作
SELECT RequestTo ,
RequestFrom ,
IsPending ,
IsAccept ,
ActedDate
FROM FriendRequests
WHERE RequestFrom NOT IN ( SELECT DISTINCT
requestTo
FROM FriendRequests )
答案 0 :(得分:0)
试试这个:
SELECT f1.RequestTo ,
f1.RequestFrom ,
f1.IsPending ,
f1.IsAccept ,
f1.ActedDate
FROM FriendRequests f1
EXCEPT
SELECT f1.RequestTo ,
f1.RequestFrom ,
f1.IsPending ,
f1.IsAccept ,
f1.ActedDate
FROM FriendRequests f1
JOIN FriendRequests f2
ON f1.RequestFrom = f2.RequestTo
AND f2.RequestFrom = f1.RequestTo
编辑:这是另一种方法
SELECT f1.RequestTo ,
f1.RequestFrom ,
f1.IsPending ,
f1.IsAccept ,
f1.ActedDate
FROM FriendRequests f1
WHERE NOT EXISTS (SELECT *
FROM FriendRequests f2
ON f1.RequestFrom = f2.RequestTo
AND f2.RequestFrom = f1.RequestTo)
它会找到所有未被接受的朋友请求。