Вывод результатов подзапроса SQL Server - PullRequest
0 голосов
/ 15 мая 2018

Я хочу создать результат, в котором перечислены все клиенты, добавленные вчера в базу данных, а затем отдельный столбец для того же набора клиентов, но только для тех, у которых нет адреса электронной почты, чтобы мы могли видеть, какой представитель CSR не добавляет адреса электронной почты, У меня проблемы с написанием подзапроса для подсчета. Ниже приведен мой код, в котором используются две таблицы CLIENT и CONTACT, к которым они присоединяются в поле ACCT_NO

Я использую SQL Server Management Studio

select 
    count(distinct c.acct_no) as Total, ADDED_BY 
from 
    client c
inner join 
    (select 
         count(distinct ct.acct_no) acct_NO 
     from 
         contact CT 
     inner join 
         client on client.acct_no = ct.ACCT_NO 
                and ct.EMAILADDR1 = ''
                and ct.[PRIMARY] = 'A' 
     group by 
         ct.ACCT_NO) x on c.ACCT_NO = x.acct_NO 
where 
    c.DATE_ADDED = CONVERT(varchar(10), GETDATE()-10, 121)
group by 
    c.ADDED_BY

1 Ответ

0 голосов
/ 15 мая 2018

Вы можете использовать count(distinct case ... для условной суммы, например:

select  ADDED_BY
,       count(distinct case when client.EMAILADDR1 is null then client.ACCT_NO end) 
            as TotalWithoutMail
,       count(distinct case when client.EMAILADDR1 is not null then client.ACCT_NO end) 
            as TotalWithMail
from    contact
jon     client
on      client.ACCT_NO = contact.ACCT_NO
group by
        ADDED_BY
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...