我有一个表 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,那么它将产生 1,因为 Running 是 John 唯一拥有而 Sam 没有的活动。
我的代码如下:
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;
然而,这给了我一个错误的答案。我的代码有什么问题?