簡體   English   中英

重構SQL

[英]Refactoring SQL

我必須從Rails應用程序連接到Java應用程序上的遠程數據庫。

我有這樣的查詢:

find_by_sql("select c_templateid, c_templateinfoid, c_startdate, c_enddate, c_active,
campaign, shortcode, prefix, c_descriptivename, c_description, c_templatename 
from (active_services aser join activity a on aser.c_primaryprefixid =
a.c_primaryprefixid ) join matrix_templateinfo using(c_templateinfoid) 
where campaign is not null)")

我需要將其重構為AR​​#find()方法,因為稍后我想在其上添加復雜的:condition。 我不想將它們轉換為字符串,然后再附加到find_by_sql方法。

find(:all, 
  :select => "c_templateid, c_templateinfoid, c_startdate, c_enddate, c_active,
  campaign, shortcode, prefix, c_descriptivename, c_description, c_templatename",
# :joins => WHAT I SHOULD DO HERE ?
  :conditions => "campaign is not null"
)

您也可以在:joins中指定復雜的聯接

:joins => "matrix_templateinfo ON <conditions go here> AND campaing IS NOT NULL"

但是如果您使用rails,那么您應該真正開始對您的字段名稱進行ronroned:]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM