2010-10-14 91 views
0
SELECT `subscriptions`.*, DATE_ADD(`subscriptions`.created_at, INTERVAL `packages`.validity DAY) as end_date 
    FROM `subscriptions` INNER JOIN `packages` ON `packages`.`id` = `subscriptions`.`package_id` 
    order by end_date; 
+0

有你这又尝试自己我的意思是,我们可以帮忙...但是它会更好从你已经得到的东西! – 2010-10-14 14:20:09

+0

是的,这个查询正在为我工​​作Subscription.find_by_sql(“this_query”)。但我感到伤心因为我努力使我的Rails应用与其他数据库系统兼容不仅仅是Mysql,而且这种复杂的查询摧毁了我的梦想。特别是这些DATE_ADD和INTERVAL函数 – Amer 2010-10-14 21:32:06

回答

0

假设你有一个模型认购是的ActiveRecord的一个子类:: Base的 然后,它仅仅是刚刚

Subsccription.select(” subscriptions。*,DATE_ADD(subscriptions .created_at,间隔packages .validity DAY )为END_DATE).joins(:包).order(:END_DATE)

我可能有一些语法错误,比如它可能是:不包:包但基本