使用rails的结果查询另一个查询

时间:2017-02-02 06:10:43

标签: mysql ruby-on-rails ruby

我很好奇是否有一种简单的方法来存档这个查询:

SomeTable.where(value_b: SomeTable.where(value_a: 1).pluck(:value_b))

例如,如果我们有:

    SomeTable
    |id |    a    |   b    |
    |1  |    1    |   2    |
    |2  |    2    |   2    |
    |3  |    3    |   3    |
    |4  |    4    |   4    |

用户在系统中输入数字1,我希望能够找到值b的值a = 12b。然后使用此值1查找具有此值的所有记录。

所以,我希望能够使用a.并提取ID为1和2的SomeTable

谢谢!

2 个答案:

答案 0 :(得分:0)

SomeTable.joins("JOIN some_table as replica on replica.value_b = some_table.value_b")
         .where(replica: {value_a: 1})

答案 1 :(得分:0)

SomeTable.where("b in (SELECT b FROM some_tables where a = ?)", a_value)

a_value是您的' a'找到' b'值