Задать вопрос
@bond_1013
Начинающий веб-разработчик

Почему я получаю ошибку?

Select departments.department_name, COUNT(employees.department_id=departments.department_id) as "Count_employees"
  FROM departments, employees
  Where employees.department_id=departments.department_id
  GROUP BY departments.department_name
      UNION(
	  select 'Total' as department_name, Sum("Count_employees") as Count_employees
	  from departments, employees
	)


Получаю ошибку:
ERROR: ОШИБКА: столбец "Count_employees" не существует
LINE 100: select 'Total' as department_name, Sum("Count_employees")...
^
HINT: Столбец "Count_employees" есть в таблице "*SELECT* 1", но на него нельзя ссылаться из этой части запроса.
  • Вопрос задан
  • 523 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 1
rozhnev
@rozhnev
Fullstack programmer, DBA, медленно, дорого
Не благодарите:

SELECT 
  COALESCE(departments.department_name, 'Total') AS department_name, 
  COUNT(*) as Count_employees 
FROM 
  employees 
JOIN departments ON employees.department_id = departments.department_id 
GROUP BY 
  ROLLUP(departments.department_name)
ORDER BY departments.department_name;


PostgreSQL fiddle
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы