0

誰かが次のようなテーブルがある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
4

2 に答える 2

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 で検索してみてください。

于 2013-02-03T06:16:20.197 に答える
0
DELETE FROM friends f1
WHERE NOT EXISTS (
    SELECT *
    FROM friends f2
    WHERE f2.a = f1.b AND f2.b = f1.a
    );

注:サブクエリでターゲット テーブルを参照できないため、これはおそらく mysql では機能しません

于 2014-08-12T00:21:48.830 に答える