gpt4 book ai didi

sql - "NOT IN"带有前导通配符的子查询

转载 作者:行者123 更新时间:2023-11-29 13:59:34 27 4
gpt4 key购买 nike

我有两个表:

tablefoo 包含一列 fulldata
tablebar 包含一列 partialdata

我想找到 tablefoo.fulldata 的列表,它在 tablebar.partialdata 中没有部分匹配。

下面提供了 tablefoo.fulldata 的列表,在 tablebar 中有部分匹配,但我想要这个的否定。

select fulldata from tablefoo
where fulldata like any (select '%' || partialdata from tablebar);

这列出了 partialdata 中的每条记录:

select fulldata from tablefoow
where partialdata not in (select '%' || partialdata from tablebar);

知道如何只获取不包含与前导通配符 tablebar.partialdata 匹配的结果 tablefoo.fulldata 吗?

我找到了这个链接:PostgreSQL 'NOT IN' and subquery这似乎是朝着正确的方向前进,但我没有让它与通配符一起工作。

当然,我可以编写一个脚本将其从 psql 中提取出来并进行比较,但将其全部作为查询的一部分进行处理会好得多。

最佳答案

SELECT fulldata
FROM tablefoo f
WHERE NOT EXISTS (
SELECT 1
FROM tablebar b
WHERE f.fulldata LIKE ('%' || b.partialdata)
);

关于sql - "NOT IN"带有前导通配符的子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23615483/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com