2013-07-17 4 views
0

У меня есть следующий код, который хорошо работает с SQL-запросом в rails. Я хочу преобразовать это в синтаксис рельсов.Расчет между несколькими таблицами как SQL-запрос

sql.update "UPDATE `chsdesk`. `units`, `unit_types`, `bill_setups` 
SET units.property_tax=unit_types.tax_area * bill_setups.rate_sqft_month + bill_setups.rate_unit_month, 
WHERE bill_setups.head_name ='Property Tax' AND units.unit_type_id = unit_types.id;"; 
sql.update "UPDATE `chsdesk`. `units`, `unit_types`, `bill_setups` 

unit_types-> has_many: Единицы Там нет другого объединения возможно между этими таблицами.

Буду очень признателен, если кто-то может помочь. Я могу предоставить более подробную информацию, если потребуется.

+0

Можете ли вы показать, что вы пробовали до сих пор, и почему он не работает? – verybadalloc

+0

Что SQL, безусловно, не работает с PostgreSQL, разве вы не имеете в виду [tag: mysql] вместо [tag: postgresql]? Во всяком случае, я перемаркировал это для MySQL. –

ответ

0

Для быстрого решения я могу предложить использовать ActiveRecord :: Base.connection.execute

ActiveRecord::Base.connection.execute("UPDATE `chsdesk`. `units`, `unit_types`, `bill_setups` 
SET units.property_tax=unit_types.tax_area * bill_setups.rate_sqft_month + bill_setups.rate_unit_month, 
WHERE bill_setups.head_name ='Property Tax' AND units.unit_type_id = unit_types.id") 
+0

Большое вам спасибо. Этот код работает с mysql. Как заставить его работать с Postgres. Я хотел бы, чтобы это было написано в коде команды Rails, если это возможно. – ckjain

Смежные вопросы