有人可以帮我查询一个SQL查询表,例如
Col A | Col B
-------------
A B
C D
E F
B A
如何删除{B,A}或选择{B,A}
问题是:
If two students A and B are friends, and A likes B but not vice-versa,
remove the Likes tuple.
我已经找到了A和B是朋友而A喜欢B的桌子,但我不知道如何删除B喜欢A元组
我有
select friend.id1, friend.id2
from friend, likes
where friend.id1 = likes.id1 and friend.id2 = likes.id2
答案 0 :(得分:1)
我之前看过这个家庭作业......
DELETE FROM Likes
WHERE ID1 IN (SELECT L.ID1
FROM Friend F,Likes L
WHERE F.ID1 = L.ID1 AND F.ID2 = L.ID2
AND F.ID1 NOT IN (SELECT ID2
FROM Likes
WHERE ID1=L.ID2 AND ID2=L.ID1))
尝试自己解决这些问题 - 或者如果不能,请尝试搜索Google。
答案 1 :(得分:0)
DELETE FROM friends f1
WHERE NOT EXISTS (
SELECT *
FROM friends f2
WHERE f2.a = f1.b AND f2.b = f1.a
);
注意:这可能不在mysql中工作,因为它不允许在子查询中引用目标表。