【发布时间】:2021-03-11 22:37:46
【问题描述】:
我需要对两个不同表(prognosis_scores 和 question_scores)中的两列(pts_won)求和,但它不能正常工作。 如果有很多progression_scores 或很多question_scores,则总和将不准确(例如,如果有一个question_scores 和三个progression_scores,则总和将加上您question_scores 的pts_won 的3 倍):
| prognosis_scores | question_scores|
| ---------------- | -------------- |
| pts_won | pts_won |
这是我的代码
CREATE VIEW score_calculations
AS SELECT
users.id as user_id,
users.name as name,
users.company_id as company_id,
users.team_id as team_id,
users.email_verified as email_verified,
-- users.email as email,
SUM(COALESCE(prognosis_scores."pts_won", 0) + COALESCE (question_scores."pts_won", 0) ) as pts_won,
SUM(prognosis_scores."good_gap") as good_gap,
SUM(prognosis_scores."good_score") as good_score,
SUM(prognosis_scores."isGoodPrognosis"::INT) as good_winner
FROM users
LEFT JOIN prognosis_scores
ON prognosis_scores.user_id=users.id
LEFT JOIN question_scores
ON question_scores.user_id=users.id
GROUP BY users.id , users.name, users.company_id,team_id,email_verified;
我怎样才能通过一次将两者相加来解决这个问题?
【问题讨论】:
标签: sql database postgresql view