我想从“ OTHER_COMMUNIC_NUM”列中提取没有电话号码的唯一雇员。请记住,当您喜欢在“ OTHER_COMMUNIC_C”列时,它会显示数字1,7,8,分别代表手机以及家庭电话和办公电话。
我的查询提取(1,7,8)中的所有空值,但我想排除在此选择中具有电话号码的人:
select PAT_ID
, LINE
, OTHER_COMMUNIC_C
, OTHER_COMMUNIC_NUM
from OTHER_COMMUNCTN
where OTHER_COMMUNIC_C in (1,7,8) and OTHER_COMMUNIC_NUM is null**
**表格
PAT_ID LINE OTHER_COMMUNIC_C OTHER_COMMUNIC_NUM
Z10000 1 7 957-407-5442
Z10000 2 8 NULL
Z10000 3 1 NULL
Z100000 1 7 651-431-1879
Z100000 2 8 651-431-1879
Z100000 3 1 NULL
Z10000001 7 856-625-6979
Z10000002 8 NULL
Z10000003 1 856-625-6979
答案 0 :(得分:0)
我想你是说这个意思
select PAT_ID
from OTHER_COMMUNCTN
where OTHER_COMMUNIC_C in (1,7,8)
group by PAT_ID
having count(OTHER_COMMUNIC_NUM) = 0
在所有类型,1、7或8记录中根本没有电话号码的地方,它会为您提供所有PAT_ID
如果您的意思是“给我所有PAT_ID,而其1、7或8条记录中的任何一条包含空值:
select PAT_ID
from OTHER_COMMUNCTN
where OTHER_COMMUNIC_C in (1,7,8)
group by PAT_ID
having
count(OTHER_COMMUNIC_NUM) < 3
您可能需要确保只检查具有1、7和8条记录的员工(即忽略仅具有1条和7条记录的员工),这可以通过将AND sum(case OTHER_COMMUNIC_C WHEN 1 THEN 1 WHEN 7 THEN 2 WHEN 8 THEN 4 END) = 7
添加到您的生活