如果我有这个
SELECT
TABLE1.*,
TABLE2.*,
ABS(SUM(TABLE2.PURCHASE)) PURCHASE
FROM
CUSTOMER TABLE1
LEFT JOIN
PURCHASES TABLE2
ON TABLE2.ID = TABLE1.ID
WHERE
TABLE1.ID = 1
所以...如果没有聚合函数ABS(SUM(TABLE2.PURCHASE))
,它会提供多行(与每个ID的购买次数一样多)
显然,使用聚合函数可以得到一行。
有一种方法可以让多行在每一行中重复相同的总和结果吗?
更新 (使用解决方案):
我找到了答案并解决了问题。
从this answer(我错过了)获得提示
我调整了我的查询以获取在所有行中重复的聚合函数。
最终查询是:
SELECT
TABLE1.*,
TABLE2.*,
(SELECT ABS(SUM(PURCHASE)) FROM PURCHASES WHERE ID = 1) PURCHASE
FROM
CUSTOMER TABLE1
LEFT JOIN
PURCHASES TABLE2
ON TABLE2.ID = TABLE1.ID
WHERE
TABLE1.ID = 1