我有“ Camera”表,我需要查找仅使用Camera_mode'P'且没有其他模式的摄像机。
表结构
Cam_serial_no Camera_mode
abc123 P
abc123 B
abc123 V
pqr111 P
xyz101 P
xyz101 V
xyz101 B
我可以使用下面的查询获得所需的输出,但是我想知道是否有任何简单的方法
select *
from (select Cam_serial_no, collect_set(camera_mode) as val
from camera
group by Cam_serial_no
) a
where size(val)=1 and val[0] = 'P';
所需的输出是
pqr111 P
答案 0 :(得分:2)
按Cam_serial_no
分组,仅采用除P
之外没有其他模式的那些
select Cam_serial_no
from camera
group by Cam_serial_no
having sum(Camera_mode <> 'P') = 0