mysql - 使用 rails where 查询另一个查询的结果

标签 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 = 1 的值,即 2。然后使用 b 的这个值来查找所有具有这个值的记录。

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

谢谢!

最佳答案

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

关于mysql - 使用 rails where 查询另一个查询的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41995311/

相关文章:

php - 匹配MYSQL中的标签

ruby-on-rails - Rails 多个字段到一个模型属性

ruby-on-rails - 如何使用包含 activerecord 模型的 gem 设置 RSpec?

ruby - jekyll serve 不适用于依赖错误

mysql - CASE + IF MySQL 查询

php - 我的查询中的 MYSQL 排序列

php - Laravel AJAX 循环

ruby-on-rails - 无法将我的代码推送到AWS EB

ruby-on-rails - 升级到 WebSocket 失败与未经授权的连接尝试被拒绝

ruby - 铁道3号逃离丸久