我正在制作一个步行马拉松轨道应用程序。每个步行者都由承诺每圈最高金额的人赞助。
我有一个名为的表,其中包含、和sponsorships
列。我想编写一个 SQL 查询来确定步行者筹集了多少钱。walker_id
amount_per_lap
max_amount
还有一个walkers
包含id
、name
和laps
列的表。
我知道这不是有效的 SQL,但我想要这样的东西,但不知道最好的方法。可以在执行查询之前提供 walker_id 和 laps。
选择总和(MIN(圈数 * 赞助商.amount_per_lap,赞助商.max_amount))从赞助商那里赞助商.walker_id = 1;
我在rails中制作这个,所以我试图弄清楚如何在Arel中做这样的事情,但无法弄清楚。
任何帮助将不胜感激。
编辑:澄清walkers
表格。
Edit2:在伪代码中意外地有 max 而不是 min