Rumah  >  Soal Jawab  >  teks badan

Kaedah SQL untuk menanyakan baris berdasarkan parameter dan menyertai jadual

Saya mempunyai titik akhir GET berikut dalam projek Ruby saya:

/endpoint/:special_param

Saya mempunyai pangkalan data dengan 2 jadual. Jadual 1 mengandungi lajur berikut: id、special_param_column、joinable_column

Jadual 2 mengandungi lajur berikut: id、joinable_column、other_data

Ini adalah kod saya untuk mengendalikan permintaan dalam model pangkalan data:

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

  return data
end

Adakah saya patut berada dalam nilai find_by_sql 内部写什么来选择表 2 中与表 1 中具有相同 joinable_column 值的行,其中 special_param_column 值等于传递到函数中的 special_param?

Sebagai contoh, katakan jadual mengandungi data berikut:

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
...

Jika special_param = 208, saya mahu kembalikan baris 1 dan baris 4 dalam jadual 2

P粉797855790P粉797855790409 hari yang lalu522

membalas semua(1)saya akan balas

  • P粉254077747

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

    SELECT (* or whatever you want to return) from table1 t1
    INNER JOIN table2 t2
    ON t2.joinable_column = t1.joinable_column
    WHERE t1.special_param_column = special_param

    balas
    0
  • Batalbalas