Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Ruby-Change-Join-ON字段_Sql_Ruby On Rails_Ruby_Join - Fatal编程技术网

Sql Ruby-Change-Join-ON字段

Sql Ruby-Change-Join-ON字段,sql,ruby-on-rails,ruby,join,Sql,Ruby On Rails,Ruby,Join,我有一个运行Ruby的查询,我试图更改两个表连接的字段 我想进行如下查询: 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

我有一个运行Ruby的查询,我试图更改两个表连接的字段

我想进行如下查询:

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不是应该匹配的两个字段,它应该由Nid(来自live_player)和live_player_id(来自teamplayers)匹配


有人能帮我吗?这是一个关系问题还是一个错误的查询?

您可以按如下方式指定连接:

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

但是您的表名让我很困惑,我不知道我是否使用了专有名称/大小写…

,因为它生成的查询是
Select*from teamplayers from teamplayers from teamplayers Live\u players on Nid=Live\u player\u id
,您可以看到它缺少join@user3240928我的回答有用吗?