我正在重新访问SQL,因为我开始了一个新项目。双左加入SQL?
我有3个表(仅显示有用的字段):
球员: ID
罚款 player_id,精细
Finelist ID,价格
我想为每个球员获得总罚金。我正在努力为每笔罚款增加价格。
SELECT p.id, COUNT(f.player_id) FROM PLAYERS p LEFT JOIN FINES f ON (p.id=f.player_id) GROUP BY p.id
返回每个玩家罚款适量。现在我有不同的罚款和不同的价格。现在,我想添加那些我试了一下这样的:
SELECT p.id, COUNT(f.player_id) * fl.price FROM PLAYERS p LEFT JOIN FINES f ON (p.id=f.player_id), FINELIST fl WHERE fl.id = f.fine GROUP BY p.id
现在只需要FINELIST的第一行考虑。只有FINES中有fine = 1
的行才会被添加到COUNT。
我不知道我想要做什么可能在一个查询中,并希望得到一些帮助。
使用SUM()代替 –
也可能需要显示示例数据 –