sql - 如何从父字符串中分离出结果?

标签 sql postgresql

您知道如何从以下任务中分离出结果吗..

我有一列包含以下值:

col_1
10001A
10001A10002A
10001A10002A10003A
10004A
10004A10005B
10006A
10007A
10007A10008A

我应该只选择没有后代的行 -

col_1
10001A10002A10003A
10004A10005B
10006A
10007A10008A

最佳答案

您需要类似的条件才能找到这些行:

select *
from the_table t1 
where not exists (select *
                  from the_table t2
                  where t2.col_1 like t1.col_1||'%'
                   and t1.col_1 <> t2.col_2);

在线示例:https://rextester.com/GVGVV77242

关于sql - 如何从父字符串中分离出结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56614829/

相关文章:

sql - 左连接返回较少的行

php - 是否有通过匹配多个条件来排序的 SQL 技术?

.net - 任何用于 PostgreSQL 的 JSON 类型的高级 .NET 客户端?

ruby-on-rails - 如何最好地表示 Rails 应用程序数据库中的角色?

sql - 从 sql 表中的 json 中提取所有值

sql - 对两个表进行采样后进行连接

PHP多表数据分页

sql - 从 Oracle 中的多个表中删除相同的列名

python - 在 SQLAlchemy 中, "filter"与 "join and filter"语法有什么区别?

postgresql - 如何查找具有大括号内包含值且遵循某种模式的属性的顶点?