sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo puedo unirme a una tabla derivada?

El autor de la pregunta necesita leer sobre Rails básicos y el uso de ActiveRecord antes de saltar a SQL. Necesita entender cómo Activerecord modela sus datos y cómo usarlos. Primero descubra lo que quiere hacer en un lenguaje común y luego vea cómo puede usar lo que existe para hacerlo.

Rails no conoce la estructura de su tabla @temp. Solo tiene un conjunto de resultados y, por lo que entiendo, AREL no crea lógica a partir del conjunto de resultados. Se construye a partir de esquemas que extrae para modelos de registros activos.

No puede crear una vista a partir de estos datos, por lo que su única opción es usar las opciones de unión estándar con clases de registro activo o hacer sql personalizado.

En Rails 3, el álgebra relacional de ActiveRecord es muy avanzada y ha facilitado mucho las consultas.

Comment.order("#{Comment.table_name}.created_at desc').limit(5).joins(:posts).order("#{Post.table_name} created_at desc")