Я пытаюсь перейти от использования MySQL к использованию PostgreSQL. У меня есть такой тип структуры:
Пользователь (субъект) -> Следовать -> Бизнес (субъект) -> История
Пользователь должен видеть все обновления новостей, выпущенные компаниями, за которыми он следит. Следующий запрос прекрасно работает с MySQL, потому что он просто показывает все связанные истории и группы посредством story.id. К сожалению, из-за того, что PostgreSQL гораздо более буквален в интерпретации стандарта SQL, если я хочу выполнить предложение GROUP BY, мне нужно запросить каждое поле отдельно, используя предложение DISTINCT, которое.
Story.find(:all, :joins => { :entity => { :followers => :follower } }, :conditions => ['followers_follows.id = ?', 4],
:group => 'stories.id')
PostgreSQL выплевывает: "ОШИБКА: столбец" Stories.entity_id "должен появляться в предложении GROUP BY или использоваться в статистической функции"
Необходимость указывать каждое поле по отдельности выглядит не элегантной. Если кто-нибудь может дать мне простой способ получить тот же результат, что и MySQL, без необходимости прибегать к получению дубликатов полей (удалению группы) или необходимости указывать каждое отдельное поле вместе с предложением DISTINCT, я был бы признателен за это! 1012 *
Спасибо!