sql >> Database >  >> RDS >> PostgreSQL

Rails Activerecord-relatie:subquery gebruiken als een tabel voor een SQL-select-instructie

Gebruik de from() methode van de Active Record-interface.

Bijvoorbeeld:

@subquery = table_a.select("DISTINCT ON(table_a.id) table_a.name as alias_a, table_b.time")     
@subquery = @subquery.joins("LEFT OUTER JOIN table_b ON table_a.id = table_b.id")
@subquery = @subquery.order("table_a.id, table_b.time asc")

Gebruik het dan als volgt in de buitenste vraag:

@query = OtherModel.from("(#{@subquery.to_sql}) table_name, other_model_table, etc ...").where(:field => table_name.alias_a) ...etc.


  1. T-SQL Stuff-opdracht

  2. Het gebruik van het entiteitsraamwerk met een MySQL-database en de modelontwerper haalt geen opgeslagen proc-parameters op

  3. Laravel Welsprekende vergelijkingsdatum uit datetime-veld

  4. SQL-query om verschil tussen aangrenzende records te krijgen