【问题标题】:Ruby Change Join ON fieldsRuby 更改加入 ON 字段
【发布时间】:2014-05-09 16:08:57
【问题描述】:

我有一个运行 Ruby 的查询,我正在尝试更改 2 个表正在加入的字段

我想进行这样的查询:

Select * from Teamplayers join Liveplayers On Nid = Live_Player_id

Ruby 现在拥有的是:

Teamplayer.joins(:liveplayer).where(:teamid => 1).all

这输出了

的查询
Select * from Teamplayers join Live_players on Live_players.id = Teamplayer.live_player_id

我的问题是 id 和 live_player_id 不是应该匹配的 2 个字段,它应该由 Nid(来自 live_players)和 live_player_id(来自 teamplayers)

有人可以帮我解决这个问题吗?是关系问题还是错误查询?

【问题讨论】:

    标签: sql ruby-on-rails ruby join


    【解决方案1】:

    您可以像下面这样指定连接:

    Teamplayer.joins('LEFT JOIN Live_players ON Live_players.Nid = Teamplayers.live_player_id')
    

    但是你的表名让我很困惑,我不知道我是否使用了正确的名称/大小写......

    【讨论】:

    • 这并不完全有效,因为它生成的查询是 Select * from teamplayers from Teamplayers Live_players on Nid = live_player_id 如您所见,它缺少连接
    • @user3240928 我的回答有帮助吗?
    猜你喜欢
    • 2012-07-23
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    • 1970-01-01
    • 2016-08-04
    相关资源
    最近更新 更多