多数のテーブルがあり、それらの多くから 1 つのクエリでデータを取得しようとしています。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
あなたが与えることができる助けや指針を前もって感謝します...