首页 > 解决方案 > 按字段过滤 SQL 元素

问题描述

我的数据库中有这些数据:

RELATION   VALUE
--------   -----
COD_1      VALUE1
COD_1      VALUE2
COD_1      VALUE3
COD_2      VALUE4
COD_2      VALUE5
COD_3      VALUE6
COD_3      VALUE7

我需要得到哪个关系适合给定的值集。例如,如果我有以下输入值:

[0]
    VALUE1
    VALUE2
    VALUE3

恢复的关系必须是 COD_1,因为所有输入值都有 COD_1 作为它们的关系。

如果我有:

[0]
    VALUE1
    VALUE2
    VALUE3  
[1]
    VALUE6
    VALUE7

恢复的值必须是 COD_1 和 COD_3。

有没有办法用 SQL 选择查询来做到这一点?

非常感谢您提前

编辑:输入修改

标签: sqloracleselect

解决方案


我认为这可以解决您的问题

select RELATION from 
(SELECT RELATION, LISTAGG(value, ',') WITHIN GROUP (ORDER BY RELATION) AS ip  from 
 input_table 
group by RELATION)A
where ip = 'VALUE1,VALUE2,VALUE3'

推荐阅读