PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Rails Activerecord Relacja:użycie podzapytania jako tabeli dla instrukcji SQL select

Użyj from() metoda z interfejsu Active Record.

Na przykład:

@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")

Następnie użyj go w następujący sposób w zewnętrznym zapytaniu:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. BŁĄD:ciąg w niekończonym cudzysłowie w miejscu lub w pobliżu

  2. openerp:wewnętrzny błąd serwera na ubuntu

  3. LIKE z % na nazwach kolumn

  4. Utwórz bazę danych za pomocą zapisanej funkcji

  5. Jaki jest odpowiednik znacznika czasu/rowversion (SQL Server) w PostgreSQL?