首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >打印单个表中未引用的孤立项

打印单个表中未引用的孤立项
EN

Stack Overflow用户
提问于 2020-04-07 07:37:19
回答 2查看 24关注 0票数 0

我有一个表(oracle数据库,如果它很重要),看起来像这样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
NAME        VALUE
parent.1    aa1234
parent.2    bb1234
child.3H    hh1234
child.2B    bb1234
child.6P    oo6666
parent.3    hh1234
child.1A    aa1234
child.5K    ee9999
child.2C    bb1234
child.1A    aa1234
child.3G    hh1234

表中包含的父项和子项的顺序相当随机。它们通过VALUE列相互引用。父级与其子级具有相同的字符串值。父母通常有一个或多个孩子,所以父母和它的孩子将具有完全相同的值。

这只是一个例子,但是用子字符串like '%parent%'like '%child%'来区分父级和子级是有效的。NAMEVALUE列都是NVARCHARS2(255)

我正在尝试查找孤儿-没有父代的子代(在示例中为child.6pchild.5K)。在一个查询或脚本中是可能的吗?

EN

回答 2

Stack Overflow用户

发布于 2020-04-07 07:46:42

您可以按如下方式使用not exists

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT T.NAME, T.VALUE
  FROM YOUR_TABLE T
 WHERE T.NAME LIKE '%child%'
   AND NOT EXISTS (SELECT 1 
                     FROM YOUR_TABLE T1
                    WHERE T1.NAME LIKE '%parent%'
                      AND T.VALUE = T1.VALUE);
票数 1
EN

Stack Overflow用户

发布于 2020-04-07 07:48:48

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select * from tab C
where NAME  LIKE ('child%')
AND NOT EXISTS 
( SELECT 1 FROM TAB P WHERE 
 P.NAME LIKE ('parent%') 
 AND C.VAL = P.VAL
 )

SQL Fiddel Demo

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61074978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文