Как использовать агрегатную функцию, например COUNT
, с *
в сочетании с псевдонимом? COUNT
позволяет использовать псевдоним таблицы с именами столбцов, но не *
.
Это работает:
select e.*, COUNT(e.MGR)
from EMP as e
left outer join EMP as e1 on e.EMPNO = e1.EMPNO
group by e.[EMPNO], e.[ENAME], e.[JOB], e.[MGR], e.[HIREDATE], e.[SAL], e.[COMM], e.[DEPTNO]
, но это не так:
select e.*, COUNT(e.*)
from EMP as e
left outer join EMP as e1 on e.EMPNO = e1.EMPNO
group by e.[EMPNO], e.[ENAME], e.[JOB], e.[MGR], e.[HIREDATE], e.[SAL], e.[COMM], e.[DEPTNO]
Этот пример, использованный выше, является выдуманным для демонстрации случая. В каждой таблице нет столбца NOT-NULL. Итак, как мы посчитаем количество строк в левой таблице левого внешнего соединения