首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Oracle SQL排除特定类型多行使用精确的两行选择

Oracle SQL排除特定类型多行使用精确的两行选择
EN

Stack Overflow用户
提问于 2016-07-21 13:11:30
回答 1查看 379关注 0票数 1

我正在尝试编写oracle sql,以便从表ABC中选择所有emplid,但不包括具有三个特定角色的emplid。示例如下:

TABLE1= ABC

EMPLID将扮演更重要的角色

______________________

111*苹果

111元人民币、中国元人民币、印度元人民币、芒果元人民币。

111* Red_Apple

222%苹果公司*苹果公司

222元人民币*

222* Red_Mango

222个苹果,一个香蕉。

333%的苹果,中国的苹果

333元人民币*

444%的苹果,中国的苹果。

444元人民币*

* Red_Mango

555元人民币*葡萄

666元人民币*

666元人民币*葡萄

666元人民币、苹果、蓝莓。

TABLE2 =详细信息

EMPLID将其名称添加到电子邮件中。

__________________________________

111* info@email.com *info@email.com

222* info@email.com *info@email.com

以此类推...

基本上,在上面的例子中,因为Apple、Mango和Red%是需要排除的三个角色。sql应返回222、333、555和666的EMPLID和名称。它应该排除111和444

我试着创建子选择,但仍然不起作用。enter code here。任何建议或帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2016-07-21 13:15:42

使用条件聚合:

代码语言:javascript
运行
复制
SELECT t1.EMPLID,
       t1.NAME,
       t1.EMAIL
FROM DETAILS t1
INNER JOIN
(
    SELECT EMPLID
    FROM ABC
    GROUP BY EMPLID
    HAVING SUM(CASE WHEN ROLE = 'Apple' OR ROLE = 'Mango' OR ROLE LIKE 'Red%'
                    THEN 1 ELSE 0 END) < 3
) t2
    ON t1.EMPLID = t2.EMPLID
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38495332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档