admin

Oracle / SQL-查找具有一个值的记录,但类似记录除外

sql

好吧,让我做得更好,解释一下。假设我有一个人员专栏和一个类型专栏。同一个人可能多次出现在表中,但类型不同。我希望所有具有指定类型的人,除非他们与其他类型一起列出。

所以给定这个数据

Person  Type
--------------
Bob     S
Sue     S
Bob     O
Tom     S
Frank   S
Frank   R

我想查看具有类型S,但未同时列出类型O或R的人员。因此,我的查询应返回

Person  Type
--------------
Sue     S
Tom     S

谢谢!


阅读 205

收藏
2021-07-01

共1个答案

admin

这样可以:

SELECT person
FROM table
GROUP BY person
HAVING MIN(type) = 'S' AND MAX(type) = 'S'

但是,如果您有同一个人的多个记录并键入“ S”,则这将删除这些重复项

2021-07-01