皮埃尔,我认为更好的
解决方案可能是以下(来自
this gist的灵感):
a = A.arel_table
b = B.arel_table
subquery = b.project(b[:a_id].as('A_id')).where{c > 4}
subquery = subquery.as('intm_table')
query = A.join(subquery).on(subquery[:A_id].eq(a[:id]))
没有特别的理由将别名命名为“intm_table”,我只是觉得它不会那么混乱.