【发布时间】:2016-05-17 22:23:23
【问题描述】:
我有一个 rake 文件,上面有这段代码。 .
if circle[:conference2_total_channels].present?
conf = Confbridge.find(:all, :conditions => ["confbridges.cid = ?",circle.circle_number],
:joins => [:confbridge_participants],
:select => 'confbridges.id, confbridges.confno, confbridges.max_member, (confbridges.max_member - 5) AS additional , (confbridges.max_member - IFNULL(confbridge_participants.active,0)) AS vacant')
end
返回的代码是
SELECT confbridges.id, confbridges.confno, confbridges.max_member, (confbridges.max_member - 5) AS additional , (confbridges.max_member - IFNULL(confbridge_participants.active,0)) AS vacant FROM `confbridges` **INNER JOIN** `confbridge_participants` ON `confbridge_participants`.`confbridge_id` = `confbridges`.`id` WHERE (confbridges.cid = '0090000092')
它是INNER JOIN
如何将其更改为 LEFT JOIN
喜欢这个
SELECT confbridges.id, confbridges.confno, confbridges.max_member, (confbridges.max_member - 5) AS additional , (confbridges.max_member - IFNULL(confbridge_participants.active,0)) AS vacant FROM `confbridges` **LEFT JOIN** `confbridge_participants` ON `confbridge_participants`.`confbridge_id` = `confbridges`.`id` WHERE (confbridges.cid = '0090000092')
谢谢:)
【问题讨论】:
-
您使用什么版本的导轨?这种语法在第三版的某个地方被弃用了
-
看来您使用的是非常旧的 Rails 版本。你不是吗?
标签: mysql ruby-on-rails ruby join