• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2つのテーブルを結合後、グループ化して、並び替えしたい)

2つのテーブルを結合後に並び替えたい

このQ&Aのポイント
  • MySQL5.0を使用して、MemberテーブルとMailテーブルを結合した後に、MemberIDが重複しないように、グループ化して、日付が早い順に並び替えたいです。
  • SQL1では並べ替えはうまくいくが、MemberIDが重複して表示されるため、SQL2に変更して実行すると結果がうまく表示されない状況です。
  • ご存知の方、どうかご教授いただけませんでしょうか?困っています。

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

最低限DDLとDMLで矛盾がないようにしてください。 SQL1、SQL2ともに「ID」になってますが「MemberID」ですよね。 で、考え方をかえて「Mail」を結合前にグループ化するのはどうですか。 こんな感じ。 SELECT * FROM `Member` left join ( select * from `Mail` M1 where not exists ( select 1 from `Mail` M2 where M1.`ReceiveId` = M2.`ReceiveId` and M1.`Date`<M2.`Date` ) ) as M on `memberid` = M.`ReceiveId` where `Member_Status` = '3' and `OpID` = 'suzuki' order by `Date` desc

laundry77
質問者

お礼

nora1962様 お忙しい中、回答してくださってありがとうございます。 今後、質問するときは内容をよく見直してから投稿します。 nora1962様にいただいたSQLを参考にさせていただき 取得したい結果を得ることができました。 自分では思いつかなかったので、本当に助かりました。 ありがとうございました。

関連するQ&A