Как заменить поле сводной таблицы PostgreSQL (foo_id) в SELECT запроса на его значение, взятое из таблицы foo?

#sql #postgresql #join

#sql #postgresql #Присоединиться

Вопрос:

Ниже приведен мой текущий запрос, сделанный в foo_bar сводной таблице:

 SELECT
    foo_id AS foo,
    COUNT(foo_id) AS total
FROM foo_bar
GROUP BY foo_id
  

Как заменить значение foo_id в таблице SELECT , foo.name взятое из foo таблицы?

Ответ №1:

Вам нужно присоединиться к таблице foo , предполагая, что у обоих есть a foo_id для объединения таблиц:

 SELECT
    f.name,
    COUNT(fb.foo_id) AS total
FROM foo_bar fb
JOIN foo f
   ON f.foo_id = fb.foo_id
GROUP BY f.name
  

Комментарии:

1. foo_id неоднозначно COUNT() , его нужно будет указать с помощью псевдонима таблицы. А еще лучше, используйте COUNT(*) .