首页  >  问答  >  正文

查询基于参数和连接表的行的SQL方法

我在 Ruby 项目中有以下 GET 端点:

/endpoint/:special_param

我有一个包含 2 个表的数据库。表 1 包含以下列:id、special_param_column、joinable_column

表 2 包含以下列:id、joinable_column、other_data

这是我在数据库模型中处理请求的代码:

def self.some_function(special_param)
  data = find_by_sql(["SELECT ..."])

  return data
end

我应该在 find_by_sql 内部写什么来选择表 2 中与表 1 中具有相同 joinable_column 值的行,其中 special_param_column 值等于传递到函数中的 special_param 值?

例如,假设表包含以下数据:

Table 1
id | special_param_column | joinable_column
===========================================
1    208                    Keanu Reeves
2    349                    Jack Black
...

Table 2
id | other_data | joinable_column
=================================
1    24           Keanu Reeves
2    68           Jack Black
3    11           Jack Black
4    0            Keanu Reeves
...

如果 special_param = 208,我想返回表 2 中的第 1 行和第 4 行

P粉797855790P粉797855790409 天前525

全部回复(1)我来回复

  • P粉254077747

    P粉2540777472023-09-08 14:51:19

    雷雷

    回复
    0
  • 取消回复