我DISTINCT将多个表一起加载:
Simple DISTINCT SELECT Table1.Val1, Table2.Val2, Table1.Val3,...
FROM Table1/2/3
WHERE Table2.KEYVAL = TABLE1.KEYVAL
AND TABLE3.KEYVAL = TABLE2.KEYVAL
some WHERE's on Table 1,2,3
我的主要选择声明中还有一些带有第4个表的子选择,它可以快速而精细地工作。
现在我想计算表3中值的和(我们称之为权重)。 表3结果具有多行(子ID)但共享相同的键。
我怎样才能做到这一点?
如果我在我的主要选择中放置一个SubSelect:
(SELECT Sum(weight)
FROM Table3
WHERE Table3.KEYVAL = Table1.KEYVAL
) as Wheight
它变得很难看。
当我想为这个权重使用LeftJoin时,我(主要)Table3.weight和(SubSelect)Table3.weight之间有什么不同(或者sql)不同?
主要选择中的总和(重量)不能直接起作用,我认为是因为没有DISTINCT?
答案 0 :(得分:0)
我认为您必须在子查询中使用Group by函数。
例如:
Select a.*, b.*
from mytable as a
join (select keyval, sum(weight) from my_second_table group by keyval) as b
on a.keyval = b.keyval