SQL-Methode zum Abfragen von Zeilen basierend auf Parametern und zum Verknüpfen von Tabellen
P粉797855790
P粉797855790 2023-09-07 15:32:10
0
1
559

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粉797855790
P粉797855790

Antworte allen(1)
P粉254077747
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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage