我在引用表中有数据,如<55,>60(等等),并且在源中,值将达到40,70(等等)。所以,根据参考值,我必须检查条件。
示例;
如果值参考表是<55
我在where子句中的条件是40<55
如果大于70
我的条件是条款将是
40>60
实际上,我正在检查不同文件的多规则条件。。这将是AND的条件之一。
你能给我建议一下处理它的方法吗。
提前感谢
SQL> column str format A10;
SQL> WITH ref_data
2 AS (SELECT '<55' VAL
3 FROM dual
4 UNION ALL
5 SELECT '>60' val
6 FROM dual),
7 source_data
8 AS (SELECT 40 VAL
9 FROM dual
10 UNION ALL
11 SELECT 70 VAL
12 FROM dual)
13 SELECT CASE
14 WHEN B.val < To_number(Regexp_substr(A.val, '[[:digit:]]+')) THEN B.val
15 ||'<'
16 ||
17 Regexp_substr(A.val, '[[:digit:]]+')
18 ELSE B.val
19 ||'>'
20 ||Regexp_substr(A.val, '[[:digit:]]+')
21 END str
22 FROM ref_data A,
23 source_data b;
STR
----------
40<55
70>55
40<60
70>60
SQL>