Mysql 向联接添加限制

Mysql 向联接添加限制,mysql,Mysql,我正试图对mySQL中的一个连接添加一个限制。这是我的SQL: select v.Consultant,SUM(a.marketing_fee) marketing_fee,v.agencyref, user.colorcode from valuations v join status_history sh on sh.ref = v.Ref join user on user.username = v.Consultant join answer a on a.title

我正试图对mySQL中的一个连接添加一个限制。这是我的SQL:

 select v.Consultant,SUM(a.marketing_fee) marketing_fee,v.agencyref, user.colorcode 
 from valuations v 
 join status_history sh on sh.ref = v.Ref 
 join user on user.username = v.Consultant 
 join answer a on a.title = v.Ref 
 where sh.status = 'booked' and sh.date between '$from' and '$to' and v.agencyref is not null 
 group by v.consultant

由于status_history表中有3个条目,因此它将总和增加了3倍。有没有办法限制状态历史记录表或将其分组以获得一个结果?

我在您的查询中没有看到
状态历史记录
表。@CGritton我已经编辑过,很抱歉我一定复制了以前的语句-\u-答案可能取决于您的
状态历史记录
表以及您需要从中得到什么。如果该表中有三条记录,并且它们都已“预订”,那么您是否需要最新的记录?你需要除以这个数字吗?是否总是有3个?可能有0、1、2、3、4等,我需要检查是否有预订,只显示为报告引用插入的最新一个。请看我在您的查询中没有看到
status\u history
表。@CGritton我已编辑,对不起,我一定是复制了前面的一句话-答案可能取决于您的
状态\u历史记录
表以及您需要从中获得什么。如果该表中有三条记录,并且它们都已“预订”,那么您是否需要最新的记录?你需要除以这个数字吗?是否总是有3个?可能有0,1,2,3,4等,我需要检查是否有预订,只需显示为报告参考插入的最新一个。请参见