Mixiに参加したよー
LINKS
ENTRIES
CATEGORIES
ARCHIVES
COMMENTS
TRACKBACK
MOBILE
qrcode
PROFILE
OTHERS
みんなのブログポータル JUGEM
<< April 2017 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>
スポンサーサイト
2005.02.12

一定期間更新がないため広告を表示しています

| - | - | - |

SQLメモ
2004.08.27
会社のオンボロサーバにPostgreSQLが入ってて、先輩がテストサイトを作って、色々データベースに突っ込んだりしています。
どうも複数のテーブルを結合して、GROUP BY句を使って表示させたかったらしいのですが、なんとバージョン6.5.3のPostgresでは外部結合にOUTER JOIN句が使えないのです。
ネットとかで調べてたらUNION句を使いなさいとの事。
外部結合はそれで解決しましたが、新たな問題が・・・。

表示させたい項目が、email,ip_address,login_date。
で、GROUP BY句にemailを指定して、login_dateが最大になるように表示させたいとの事。
ここで問題。

select d.email,e.address,max(e.login_date) from data d,log e where d.email = e.login_user group by d.email

だとエラーが出るのです。
これは、SELECT句で指定した集合関数以外の項目をGRUOP BY句で指定しなくてはいけなかったのです。
でもグループ化させたいのはemail項目だけで、GROUP BY句にaddressも指定すると、email,addressの二つの項目でグループ化されてしまうので困っています。
なんか簡単に解決しそうなんだけど、なかなかハッチャキません。
だれか助けて。
| SQL | comments(6) | trackbacks(1) |