Ich habe ein paar massive SQL-Anfrage mit Join über verschiedene Modelle in meiner Rails-Anwendung. Eine einzelne Anfrage kann 6 bis 10 Tabellen umfassen.Wie bei Unterabfragen mit ARel beizutreten?
Um die Anfrage schneller auszuführen, möchte ich Sub-Abfragen in den Joins verwenden (auf diese Weise kann ich diese Tabellen vor dem Join filtern und die Spalten auf diejenigen reduzieren, die ich brauche). Ich versuche das mit ARel zu erreichen.
Ich dachte, ich fand die Lösung für mein Problem dort: How to do joins on subqueries in AREL within Rails, aber Dinge müssen sich geändert haben, weil ich undefined method '[]' for Arel::SelectManager
bekomme.
Hat jemand eine Idee, wie man das erreicht (ohne Strings zu verwenden)?
Können Sie die Abfrage anzeigen, die Sie versuchen? – mguymon
Nun, um es auf die extreme Ebene zu vereinfachen: SELECT A. * INNER JOIN (SELECT B.a_id VON B WHERE Bc> 4) B ON A.id = B.a_id –
Können Sie den Ruby-Code, den Sie für die versuchen Abfrage? – mguymon