一些SQL小技巧,不定期更新...

要将查询结果作为IN语句的查询条件,查询结果作为子查询,并在主查询中使用IN子句。

sql 复制代码
SELECT table_ids
    FROM cdc_table_sync
    WHERE sync_id = 'FLINK_CDC_SYNC_TABLE_198';

结果为:c2a9f78ecc3f6a6c97c12956d25e1adc,24d883d4a419578d09dd3801f001b93e,f3e569a5c68023c76b5bb22e25768739,df9e3fe91219ce1d042ee84a0b4b58ea,465d014da17e858fd16bca733141126a,6572ff4511b9164bffb1bfbc480d364e

这样的字符串

sql 复制代码
SELECT *
FROM your_table
WHERE column_name IN (
  SELECT split_part(result, ',', generate_series(1, array_length(string_to_array(result, ','), 1))) AS element
  FROM (
    SELECT string_agg(quote_literal(table_ids) || ',', '') AS result
    FROM cdc_table_sync
    WHERE sync_id = 'FLINK_CDC_SYNC_TABLE_198'
  ) subquery
);

your_table替换表名,column_name`替换为进行IN匹配的列名。

这里将首先使用之前提供的查询语句,将查询结果以逗号分隔并加上单引号。然后,使用string_to_array函数将结果拆分为一个数组。接下来,通过generate_series函数生成一个序列,用来获取数组中的每个元素。最后,使用split_part函数将每个元素分别作为子查询的结果,并在主查询中使用IN子句。

当主查询执行时,它将比对指定列的值与子查询的结果,如果匹配则返回相应的行。

相关推荐
睡不醒男孩0308238 分钟前
PostgreSQL 数据库运维转型:从传统模式到 CLup 平台的 25 个核心 FAQ
运维·数据库·postgresql
凡人叶枫16 分钟前
Effective C++ 条款40:明智而审慎地使用多重继承
java·数据库·c++·嵌入式开发·effective c++
至此流年莫相忘31 分钟前
Spring 依赖注入三剑客:@Autowired、@Resource 与 @RequiredArgsConstructor 深度对比与实战指南
java·数据库·spring
Rain50932 分钟前
2.2 数据基础:数据库集成与 ORM(TypeORM / Prisma)
数据库·人工智能·ai·数据分析·node.js·自动化·ai编程
杨云龙UP43 分钟前
Oracle/ODA RAC /u01 空间告警处理指南:grid 用户监听日志清理_2026-06-15
linux·数据库·oracle·oracle linux·oda·监听日志·在线清理
IT新视界1 小时前
从多平台割裂到湖仓集一体,星环科技ArgoDB助力金融机构迈向实时智能
数据库·科技
master3361 小时前
达梦数据库常用语句示例
数据库·达梦
Elastic 中国社区官方博客1 小时前
Elasticsearch:使用向量搜索构建现代应用的最佳实践
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
Volunteer Technology1 小时前
Flink状态管理与容错(一)
大数据·数据库·flink
CIO_Alliance1 小时前
(企业AI化转型)选对iPaaS系统集成厂家是制造业数字化转型的生死线
大数据·数据库·人工智能·企业数字化转型·ipaas·系统集成