sql - SQL Server 子查询结果输出
问题描述
我想创建一个结果,列出昨天添加到数据库的所有客户,然后为同一组客户创建一个单独的列,但只有那些没有电子邮件地址的客户,所以我们可以看到哪个 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
解决方案
您可以使用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
推荐阅读
- python - 在 Python 中使用 scikit learn 进行线性判别分析
- android - 仅更改 apk 中的权限并在 Playstore 上重新发布
- python - 直接从网络驱动器上的远程 git 存储库安装
- gitlab - 如何从 Gitlab API 获取“git show-branch”?
- spring-security - Spring Session 升级后出现 InResponseToField 错误
- javascript - ChartJS 出现和消失
- c# - 如何在 Angular 和 Asp.Net Boilerplate 上获取当前用户 ID?
- r - 在 Shiny 中使用 IF 创建函数
- parsing - 一元运算符树
- typescript - 为导出具有属性的函数的模块定义类型