Вам нужно GROUP BY
, при использовании агрегатных методов.Также Table1_Col
существует в обеих таблицах, поэтому, пожалуйста, используйте правильный псевдоним таблицы для столбцов.
Приведенный ниже запрос вернет ожидаемый результат.Пожалуйста, найдите демо тоже.
select T1.Table1_Col, Count(T2.Table2_Col) AS Table2_Col
from table1 t1
Left outer join table2 t2 on t1.Table1_Col = t2.Table1_Col
GROUP BY T1.Table1_Col
Демо на дб <> fiddle
ОБНОВЛЕНИЕ: Согласно комментарию в посте , основанном на вашей скрипке, условие t3.visitno=1
должно быть в LEFT OUTER JOIN
, а не в предложении WHERE
, поэтому будет работать следующий запрос:
select t3.pvisitno, t1.DocName, count(t2.vdocid) as [count]
from Document_type t1
left outer join visitdocs t2 on t2.DocId = t1.DocId
left outer join visittbl t3 on t3.visitno = t2.visitno and t3.visitno=1
group by t3.pvisitno,t1.DocName
order by count(t2.vdocid) desc
db <> демонстрация скрипки для пересмотренной скрипки