我有许多表,我试图在一个查询中从其中的许多表中提取数据。我已经研究出如何成功地LEFT JOIN
从其他表中提取相关数据,并使用一个通用 ID。
通过这个查询,我试图为我们的 ASSOCIATES_BACKGROUND_DATA 表中的每个联系人获取数据。
首先,我试图找到他们最近的会议ASSOCIATES_1_TO_1S.DATE_OF_MEETING
(这是存储为时间戳,所以只寻找最大的时间戳) - 我没有得到正确的结果,我MAX
是否正确使用了该函数?
其次,我想获取所有ASSOCIATES_ACTION_STEPS
记录ASSOCIATE_ID
。正确的加入似乎也没有把它拉进来?
任何人都可以帮忙吗?感觉我已经很接近得到这个结果了,但这真的让我很烦!
SELECT *,
ASSOCIATES_BACKGROUND_DATA.ASSOCIATE_ID as ABG_ASSOCIATE_ID,
ASSOCIATES_BACKGROUND_DATA.NAME_KNOWN_AS as ABG_NAME_KNOWN_AS,
ASSOCIATES_BACKGROUND_DATA.LAST_NAME as ABG_LAST_NAME,
USERS.NAME_KNOWN_AS as USERS_NAME_KNOWN_AS,
USERS.LAST_NAME as USERS_LAST_NAME,
MAX(ASSOCIATES_1_TO_1S.DATE_OF_MEETING)
FROM ASSOCIATES_BACKGROUND_DATA
LEFT JOIN ASSOCIATES_1_TO_1S
ON ASSOCIATES_BACKGROUND_DATA.ASSOCIATE_ID = ASSOCIATES_1_TO_1S.ASSOCIATE_ID
LEFT JOIN LIST_OF_UNIVERSITIES
ON ASSOCIATES_BACKGROUND_DATA.UNIVERSITY = LIST_OF_UNIVERSITIES.ID
LEFT JOIN USERS
ON ASSOCIATES_BACKGROUND_DATA.PROGRAMME_COORDINATOR = USERS.ID
RIGHT JOIN ASSOCIATES_ACTION_STEPS
ON ASSOCIATES_BACKGROUND_DATA.ASSOCIATE_ID = ASSOCIATES_ACTION_STEPS.ASSOCIATE_ID
GROUP BY ASSOCIATES_1_TO_1S.ASSOCIATE_ID
ORDER BY `ABG_NAME_KNOWN_AS` ASC
非常感谢您提供的任何帮助或指示...