我不确定我的问题是否有意义,但我将尝试在此处进行解释。我有两个桌子
表SAM (SR PK,CODE)
。 CODE
列可能包含也可能不包含逗号分隔的值。
表FOO (CODE_VAL PK, CODE_DISP_TX)
我想编写一个选择查询,以便向我提供以下FOO WHERE SAM.SR = 3
的输出
答案 0 :(得分:4)
修复您的数据模型!将列表存储为字符串是一个非常非常糟糕的主意。
有时候,我们会被别人的非常非常糟糕的决定所束缚。您可以这样做:
select f.*
from foo f
where exists (select 1
from sam s
where ',' || code || ',' like '%,' || f.code || ',%'
);