查询以从表中仅获取一项
Posted
技术标签:
【中文标题】查询以从表中仅获取一项【英文标题】:Query to fetch just one item from a table 【发布时间】:2013-11-25 17:04:00 【问题描述】:hr_org 包含以下列:-
Org id Spoc Name
123 HR A
123 IT A
123 VP A
67 IT B
78 HR C
78 IT C
我想创建一个查询,其中仅包含定义了 IT Spoc 的那些名称。
例如:-
select name
from hr_org
where SPOC ='IT'
会给A和B 但对于另一个 spoc(HR AND VP) 来说,也遭到了蔑视。我的输出应该只取 B。
【问题讨论】:
为什么它会获取B
?将B
定义为要获取的 3 个正确之一的规则是什么?
【参考方案1】:
select name
from hr_org
where SPOC ='IT' and name not in (select name from hr_org where SPOC<>'IT')
【讨论】:
【参考方案2】:select *
from hr_org h1
where spoc='IT'
and not exists (
select 1
from hr_org h2
where h2.spoc <> h1.spoc
and h2.name = h1.name
)
【讨论】:
以上是关于查询以从表中仅获取一项的主要内容,如果未能解决你的问题,请参考以下文章
将 SQL Server 存储过程转换为 Oracle 过程以从表中查询