2

多数のテーブルがあり、それらの多くから 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

あなたが与えることができる助けや指針を前もって感謝します...

4

1 に答える 1