次のようなスニペットを持つ表 Hobby があります。
Name Activity Hours
John Hiking .5
Sam Cycling .5
Sam Swimming 1
Sam Hiking .5
John Running 1
Sam Sailing 1
(X, Y) のすべての人 X について、X と Y が共通していない活動時間の合計を見つけたいと思います。たとえば、John = X で Sam = Y の場合、John が持っていて Sam が持っていない唯一のアクティビティがランニングであるため、結果は 1 になります。
私のコードは次のとおりです。
select a.Name, b.Name, sum(a.Hours)
from Hobby a, Hobby b
where a.Name <> b.Name and a.Activity <> b.Activity
group by a.Name, b.Name;
しかし、これは私に間違った答えを与えました。コードの何が問題になっていますか?