У меня есть достаточно сложный запрос в приложении rails, Я присоединяюсь к таблице A и таблице B, чтобы я мог тщательно искать обе таблицы. Затем я группирую таблицу A в свой идентификатор, чтобы удалить дубликаты по моему внутреннему соединению на таблице B Затем мне требуется подсчет оставшихся записей, чтобы я мог разбивать на страницы результаты.Получить общие строки в объединенном и сгруппированном запросе
Однако делать это дает мне следующее исключение при попытке получить количество:
ActiveRecord::StatementInvalid (PG::AmbiguousColumn: ERROR: column reference "game_id" is ambiguous
LINE 1: SELECT COUNT(*) AS count_all, game_id AS game_id, region AS ...
^
: SELECT COUNT(*) AS count_all, game_id AS game_id, region AS region FROM "game_data" INNER JOIN "player_participants" ON "player_participants"."game_id" = "game_data"."game_id" WHERE "player_participants"."region" = $1 AND "game_data"."region" = 'NA1' AND "game_data"."status" = 1 GROUP BY "game_data"."game_id", "game_data"."region"):
Вот мой код рельсы:
games = GameDatum.joins(:player_participants).where(
player_participants: pp_data,
game_data: g_data
).group(:game_id).order(created_at: :desc).page(page).per(records)
games_json = {}
games_json[:pages] = games.total_pages
games.total_pages использует .Count, который является то, что дает мне проблемы.
Спасибо за помощь!
Спасибо, исправлено! –
Удивительный, рад, что это сработало для вас :) –