SQLの基本

you12724 34views 更新:2016年5月2日

SQLにおいて複数のテーブルを扱う時のやり方をやったことがなかったので時間をかけて確認していきました。
備忘録的な感じでメモしていきます。

select * from table1
    where room_id in (select room_id from table2
        group by room_id
        having COUNT(*) = 1)
    and user_id = 1

まずtable2においてroom_id毎にグループを作り(group by)、その個数を調べ、個数が1の場合のroom_idを取得します。その取得したroom_idとuser_idを条件にtable1からレコードを取得するというコードです。havingを用いることによってグループ化した後に条件で絞り込むことが出来ます。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません