如何从返回的子查询中选择没有值的记录(具有逗号分隔值)?

科学探索者

更新SQL FIDDLE 链接https://www.db-fiddle.com/f/9t63on5kYWUNrHqXkThb1P/4

输出应仅提供以下内容(表 1 的第 2 行)

I0016,I0028,I0045,I0056,I0215,I0321,I0361,I0369,I0420

我应该

select column1 from table1 
where <any comma separated value in column1> not in
(select col2 from table2 where col1 = 'e')

首选解决方案是本机 SQL,没有特定于供应商的内容。如果需要,spark sql 函数有帮助。

注意:我知道这是一个糟糕的设计,但这是我无法控制的。

注意FIDDLE 中的表是使用 MySQL 的默认设置创建的。我不知道这些表是如何在后端创建的。这就是为什么我指定这不应该是供应商特定的。

科学探索者

以下相关子查询适用于我的情况。可以在上面的小提琴中测试它。

select *
from table1 as t1
where (
    select  t2.col2
    from    table2  as  t2
    where   t1.column1 like concat('%', t2.col2 ,'%')
    and t2.col1 = 'e'
    limit 1
    ) is NULL;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

查询以从表中选择具有特定列值的记录

如何在具有逗号分隔值的列上运行选择查询

如何从具有重复值的列表中选择不同的记录?

通过查询DSL从每个组中选择具有最大值的记录

LINQ查询以从表中选择记录,其中2列具有最大值

如何从逗号分隔值的字段中选择不同值的列表?

如何选择具有相同值的记录?

具有逗号分隔值的Group By子句

从具有 CSV 值的一行中选择子查询中的位置

从没有重复sql的子查询中选择值

在Oracle查询中选择具有最大值的行

SQL查询以选择在同一列中具有不同值的子记录的父项

从每个记录的逗号分隔值中选择最小值/最大值

返回逗号分隔值的 where 子句中的 Mysql 子查询

SQL查询:从映射表获取带有逗号分隔值的子值

在逗号分隔的字符串中选择可观察数组的所有字段值

从单列中选择逗号分隔的值

SQL查询以选择没有重复值的记录

如何从子查询中选择具有MAX值的整个元组?

当没有在PHP中选择单选按钮时,如何返回值0

如何在mysql中选择记录数和具有相同字段值的记录数之间的比率?

查询难题-如何选择具有后备值的值?

从表中选择与子查询的所有值匹配的所有值

如何从具有值的行中选择数据

如何在SQL中选择具有较高值的行?

如何在jquery中选择没有值的选项?

SQL查询:如何选择相关表中所有记录都具有特定属性值的记录

如何从具有相同ID的许多行中选择值到仅一行,并用-分隔它们?

jq从具有字段的最小值或最大值的数组中选择记录