- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:2つのテーブルを結合後、グループ化して、並び替えしたい)
2つのテーブルを結合後に並び替えたい
このQ&Aのポイント
- MySQL5.0を使用して、MemberテーブルとMailテーブルを結合した後に、MemberIDが重複しないように、グループ化して、日付が早い順に並び替えたいです。
- SQL1では並べ替えはうまくいくが、MemberIDが重複して表示されるため、SQL2に変更して実行すると結果がうまく表示されない状況です。
- ご存知の方、どうかご教授いただけませんでしょうか?困っています。
- みんなの回答 (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
お礼
nora1962様 お忙しい中、回答してくださってありがとうございます。 今後、質問するときは内容をよく見直してから投稿します。 nora1962様にいただいたSQLを参考にさせていただき 取得したい結果を得ることができました。 自分では思いつかなかったので、本当に助かりました。 ありがとうございました。