kra*_*s88 3 sql t-sql sql-server
试着围绕所需的逻辑/命令:
我有一个联系人表.每个联系人都以多对一的方式拥有一个客户.我试图得到任何所有联系人都有电子邮件的NULL值的clientID.
示例数据:
ContactID EmailAddress ClientID
1 NULL 3
907 NULL 3
2468 NULL 3
2469 email@email.com 4
1077 NULL 4
908 email@email.com 4
2 email@email.com 4
3 email@email.com 5
909 email@email.com 5
Run Code Online (Sandbox Code Playgroud)
谢谢!
您可以使用分组聚合和HAVING子句执行此操作(并假设空白电子邮件地址可以与空值相同):
SELECT
ClientID
FROM ClientEmails
GROUP BY ClientID
HAVING MAX(LEN(ISNULL(EmailAddress, ''))) = 0;
Run Code Online (Sandbox Code Playgroud)
这会有帮助吗?
select *
from
(
select clientId,
COUNT(emailAddress) as Mailz,
COUNT(contactId) as Contacts
from contacts
group by clientId
) as src
where (Mailz = 0 and contacts > 0)
Run Code Online (Sandbox Code Playgroud)