mysql:7680
From: とみたまさひろ <とみたまさひろ <tommy@xxxxxxxxxx>>
Date: Sat, 10 May 2003 12:14:02 +0900
Subject: [mysql 07680] Re: 4 つのテーブルを left join するには(長文)
とみたです。 On Fri, 09 May 2003 19:46:06 +0900 yuji koga <koga-y@xxxxxxxxxx> wrote: > ここで、伝言板の管理者の名前も出そうとして苦しんでいます。 > 期待している結果は次です。 > > thrd_id thrd_ttl usr_lgnm アクセス数 書込人数 最終更新日時 > ------+-------+---------+--------+------+-------- > 2 車BBS hoge 3 2 (日時・略) > 1 風景BBS koga 0 0 ---- > ・ > ・ > ・ > (最終更新日時順) > > ここで次のようなSQLを打ちました。 > > select > thrd_tbl.thrd_id, > thrd_tbl.thrd_ttl, > usr_tbl.usr_lgnm, > count(distinct acc_tbl.acc_id), > count(distinct file_tbl.usr_id), > max(file_tbl.file_datetime) > from thrd_tbl > left join acc_tbl using(thrd_id) > left join file_tbl using(thrd_id) > left join usr_tbl using(usr_id) > group by thrd_tbl.thrd_id > order by 'max(file_tbl.file_datetime)' desc using じゃなくて on を使ってみてはいかがでしょうか。 select thrd_tbl.thrd_id, thrd_tbl.thrd_ttl, usr_tbl.usr_lgnm, count(distinct acc_tbl.acc_id), count(distinct file_tbl.usr_id), max(file_tbl.file_datetime) from thrd_tbl left join acc_tbl using(thrd_id) left join file_tbl using(thrd_id) left join usr_tbl on thrd_tbl.usr_id=usr_tbl.usr_id group by thrd_tbl.thrd_id order by 'max(file_tbl.file_datetime)' desc -- とみたまさひろ <tommy@xxxxxxxxxx> 日本MySQLユーザ会 http://www.mysql.gr.jp
7677 2003-05-09 19:46 [yuji koga <koga-y@xx] 4 つのテーブルを left join するには(長文) -> 7680 2003-05-10 12:14 ┗[とみたまさひろ <tomm] 7681 2003-05-10 16:16 ┗[yuji koga <koga-y@xx] 7682 2003-05-10 17:48 ┗[とみたまさひろ <tomm] 7683 2003-05-10 20:41 ┗[yuji koga <koga-y@xx] 7685 2003-05-12 17:35 ┗[Hiroshi Honda <honda] MySQL で多言語使用 7692 2003-05-13 15:36 ┗[Joel Rees <joel@xxxx] 7698 2003-05-13 21:50 ┗[tateyan <tateyan@xxx] 7699 2003-05-14 08:31 ┣[Hiroshi Honda <honda] 7719 2003-05-14 23:18 ┃┗[tateyan <tateyan@xxx] 7712 2003-05-14 19:11 ┗[Joel Rees <joel@xxxx]