我正在一个查询,正在推动我坚果。我正在尝试通过连接表中的值来搜索表。目前,该查询正在返回具有任一指定ID的所有结果。我只想要它返回只有两个ID的记录。Postgresql INNER JOIN与多个条件
这里是我的表设置
creat_table champions do |t|
t.integer :id
end
create_table champions_champion_combinations do |t|
t.integer :champion_id
t.integer :champion_combination_id
end
create_table champion_combinations do |t|
t.integer :id
end
下面是该查询我有它
SELECT
champion_combinations.*
FROM champion_combinations
INNER JOIN champions_champion_combinations
ON champions_champion_combinations.champion_combination_id = champion_combinations.id
INNER JOIN champions
ON champions.id = champions_champion_combinations.champion_id
WHERE champions.id IN (1, 2)"
从RoR的ActiveRecord的查询生成
ChampionCombination.joins(:champions).where(champions: {id:[1,2]})
因此,这将返回所有champion_combinations那要么加入冠军id 1或2。我需要写什么类型的查询,只返回组合了ID和ID 2的组合?
在此先感谢。
你可以做两个单独的连接到'冠军'表。第一个id是一个,第二个id是一个。 – 2015-04-03 19:42:01