Heim > Fragen und Antworten > Hauptteil
Ich habe den folgenden GET-Endpunkt in meinem Ruby-Projekt:
/endpoint/:special_param
Ich habe eine Datenbank mit 2 Tabellen. Tabelle 1 enthält die folgenden Spalten: id、special_param_column、joinable_column
Tabelle 2 enthält die folgenden Spalten: id、joinable_column、other_data
Dies ist mein Code zur Bearbeitung der Anfrage im Datenbankmodell:
def self.some_function(special_param) data = find_by_sql(["SELECT ..."]) return data end
Sollte ich im Wert find_by_sql
内部写什么来选择表 2 中与表 1 中具有相同 joinable_column
值的行,其中 special_param_column
值等于传递到函数中的 special_param
sein?
Angenommen, die Tabelle enthält die folgenden Daten:
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 ...
Wenn special_param = 208
, möchte ich Zeile 1 und Zeile 4 in Tabelle 2 zurückgeben
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