2013-07-17 53 views
0

我有以下代碼,它可以在SQL查詢中在rails中運行。我想將其轉換爲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