我正在一個查詢,正在推動我堅果。我正在嘗試通過連接表中的值來搜索表。目前,該查詢正在返回具有任一指定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