我有很多表,我試圖從一個查詢中拉出其中的很多數據。我已經制定了如何成功使用LEFT JOIN
從其他表中獲取具有公共ID的相關數據。SQL:查詢幾個表,只有一個最新的結果,並從另一個的所有結果
使用此查詢,我試圖爲我們的ASSOCIATES_BACKGROUND_DATA表中的每個聯繫人獲取數據。
首先,我正在嘗試在ASSOCIATES_1_TO_1S.DATE_OF_MEETING
(它存儲爲時間戳,因此只查找最大的時間戳)中找到他們最近的會議 - 我沒有得到正確的結果,我是否使用MAX
函數是否正確?其次,我想要得到ASSOCIATE_ID
的ASSOCIATES_ACTION_STEPS
中的所有記錄。正確的加入似乎並沒有在這兩方面拉?
任何人都可以幫忙嗎?感覺我很接近爲此獲得結果,但這真的讓我感到困擾!
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
提前任何幫助或指針,你可以給許多感謝...
嗨@Sebas,是的,這是使用PHP來計算平均值,基於完成的操作步驟和截止日期之間的時間。 – user2751653