我的数据库中有以下表格:
names:
id | name |
---|----------|
1 | Mark |
2 | George |
3 | Liza |
4 | Tai |
evaluation
name_id | score |
--------|----------|
1 | 30 |
1 | 100 |
2 | 20 |
3 | 40 |
3 | 50 |
4 | 40 |
4 | 50 |
bonuses
name_id | bonus |
--------|----------|
1 | 5 |
1 | 1 |
1 | 60 |
2 | 2 |
2 | 8 |
4 | 12 |
4 | 50 |
当你看到每个名字有一个或两个评价,和许多(或没有)奖金。
我需要mysql查询来获得最佳的evaluation.score,并将它与同一个人的所有奖金相加,然后根据总数排序。
我试过了以下几点,但似乎遗漏了一些东西:
SELECT
bonuses.name_id,
SUM(bonuses.bonus + evaluation.score) Total
From bonuses, evaluation
WHERE bonuses.name_id = evaluation.name_id
group by names.id
order by Total
请帮助我在我的问题中提到这个问题
谢谢
最佳答案
试试这个:
SELECT bonuses.name_id, SUM(bonuses.bonus + evaluation.score) Total
FROM names, bonuses, evaluation
WHERE bonuses.name_id = evaluation.name_id
GROUP BY names.id
ORDER BY Total
您的from语句中缺少表
names
。关于php - MYSQL过滤表在两个其他表中的结果总和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14307063/