这是你的
from条款:
FROM individuals as individuals LEFT JOIN individuals_dynamics AS individuals_dynamics ON individuals.unique_id = individuals_dynamics.individual_id INNER JOIN ( SELECt degree, MAX(id) AS latest_record FROM individuals_achievements GROUP BY latest_record ) individuals_achievements AS individuals_achievements ON individuals.unique_id = individuals_achievements.individual_id;
我至少可以发现三个问题。首先是
individuals_achievements AS individuals_achievements;
第二个是
individuals_achievements.individual_id子查询中没有的引用。第三是
group bylatest_record。
FROM individuals LEFT JOIN individuals_dynamics ON individuals.unique_id = individuals_dynamics.individual_id LEFT JOIN individuals_achievements ON individuals.unique_id = individuals_achievements.individual_id JOIN (SELECt ia.individual_id, MAX(ia.id) AS latest_record FROM individuals_achievements ia GROUP BY ia.individual_id ) iamax ON individuals.unique_id = iamax.individual_id and individuals_achievements.id = iamax.latest_record
这将添加一个附加子查询,并带有最新记录的ID。
顺便说一句,让表别名与表名同名是多余的。那只会使查询混乱。同样,对别名使用表缩写(例如
iafor)也是一个好主意
individuals_achievements。因为此答案仅针对
from条款,所以我没有进行更改。



