You can do this, look into arel. Here's a blog post:
https://blog.codeship.com/creating-advanced-active-record-db...