объединить две группы по запросам в один, чтобы получить количество записей обеих таблиц на сервере sql - PullRequest
1 голос
/ 07 февраля 2020

У меня есть два запроса, чтобы получить количество репетиторов и количество родителей по местоположениям, ниже:

Select a.LocationId, COUNT(*)  from TutorAddress ta 
inner join Address a on a.Id=ta.AddressId group by a.LocationId

Выход:

LocationId  Count
1            4
14           13

второй запрос:

Select a.LocationId, COUNT(*)  from ParentAddress pa 
inner join Address a on a.Id=pa.AddressId group by a.LocationId

Out Put - это:

LocationId  Count
1            6
14           3
12           8

Я хочу объединить эти два запроса и получить один результат результата, как показано ниже:

LocationId  tutorCount  ParentCount
1              4           6
14            13           3
12            0            8

возможно, я не могу получить, как я могу этого добиться. пожалуйста помоги.

1 Ответ

2 голосов
/ 07 февраля 2020

Вы можете объединить оба запроса, используя левое соединение

select a.locationid,
       count(pa.AddressId) as parentcount, COUNT(ta.AddressId) tutorcount
from Address a 
     left join ParentAddress pa on a.Id=pa.AddressId
     left join TutorAddress ta on a.Id=ta.AddressId
group by a.locationid
...