前提・実現したいこと
railsでDBからデータを持ってきたいです
例えば色を貸し出すという状況でid, name, color_id
のカラムからなるテーブルrental_colors
があります
これは歴史的経緯から同じ情報がダブって入っています(ここでいうrental_colors
の0, 1)
そして、貸し出し済みを示すin_used_colors
テーブルが有り、in_used_colords.rental_color_id
はrental_colors.id
を指します
ここでrentorl_colors.color_id
を示す値を受け取って、rental_colors
から貸し出し可能な色を取り出したいです
具体例としてはcolor_id=1
の行がほしいとき、rental_colors.id = 2
が帰ってきてほしいです
処理の順番としては
in_used_colors.rental_color
を見るrental_colors.id=1
を探すrental_colors.id=0, 1
を同一のものとして検索候補から落とすcolor_id=1
2行目を見つける
という流れになると思っています
そこで、タイトルに有る2つのカラム(ここではrental_colors.name
とrental_colors.color_id
)でdistinctするのかなと思ったのですが、どうもうまくいきません
rentol_colors
↓
id | name | color_id |
---|---|---|
0 | taro | 1 |
1 | taro | 1 |
2 | jiro | 1 |
3 | jiro | 2 |
in_used_colors
id | rental_color_id |
---|---|
0 | 1 |
SQLで言えばこの記事の以下のようなクエリに相当するrailsの書き方を知りたいです
sql
1select 2 * 3from 4 table t 5where 6 (t.col1, t.col2) in ( 7 ("hoge", "fuga"), 8 ("foo", "bar") 9 )
https://qiita.com/lithtle/items/4517785c67843f601443#nn
わかりにくい例になってしまいましたが、どなたかご教示ください
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。