内部三个表之间的连接

时间:2013-05-13 21:12:26

标签: mysql sql

我正在使用以下查询:

select a.idclientecrm, max(c.falta) from clientescrmporlistadeclientescrm a
inner join clientescrmporlistadeclientescrm b on (a.idclientecrm=b.idclientecrm and   a.idlistadeclientescrm = 58)
inner join tareas c on a.idclientecrm=c.idclientecrm
where b.idlistadeclientescrm = 70

但我没有得到我想要的结果。我知道我做错了什么,但我不知道是什么。

我想要第一个内连接的结果(aprox 22k行),但我需要将结果连接到“tareas”表并从那里获得最大日期。

我想使用 max ,因为对于每个 idclientecrm ,“tareas”表中有多个匹配的行,我需要最后记录的结果。

如果我遗漏了某些东西,请告诉我。

Thnx提前!

1 个答案:

答案 0 :(得分:1)

您可能希望将“58”条件移动到a.idclientecrm上的WHERE子句和组中:

select a.idclientecrm, max(c.falta) 
from clientescrmporlistadeclientescrm a
inner join clientescrmporlistadeclientescrm b 
on a.idclientecrm = b.idclientecrm
inner join tareas c 
on a.idclientecrm = c.idclientecrm
where b.idlistadeclientescrm = 70
and a.idlistadeclientescrm = 58
group by a.idclientecrm