使用 Oracle SQL 从基于从另一个表拆分的正则表达式的表中进行选择

gator2003

我有一个在 CLOB 上运行的查询,将列拆分并基于字符串进行过滤。这是查询:

WITH t AS (
    SELECT
        TRIM(typesettings) AS str
    FROM
        layout
) SELECT
    regexp_substr(str,'(\d+\DINSTANCE\D\w*)',1,level)
  FROM
    t
WHERE
    regexp_substr(str,'(\d+\DINSTANCE\D\w*)',1,level) LIKE '56_INSTANCE_%'
CONNECT BY
    level <= regexp_count(str,'(\d+\DINSTANCE\D\w*)');

以下是上述查询的输出示例:

56_INSTANCE_324rtde32r
56_INSTANCE_4mkl4323o4
56_INSTANCE_rr312ek121

我想使用上述查询的结果从另一个表(称为日志)中选择 ID。我无法找出使用结果集进行另一个选择的正确方法。“with”符号让我失望。

任何人都知道如何做到这一点?

鳄鱼

您可以通过这种方式在 WITH 子句中级联进一步的子查询:

WITH alias1 AS (
   some-query
),
alias2 AS (
  SELECT ... FROM alias1 ......
),
alias3 AS (
  SELECT ... FROM alias2 ......
),
.....
.....
.....
alias99 AS (
  SELECT ... FROM alias33 ....
)
/* the last query */
SELECT ... 
FROM alias99 JOIN alias55 ON ....
WHERE id IN ( select id FROM alias47 )
....

您还可以使用整个 WITH 查询作为子查询:

SELECT * FROM (
   WITH x as (
      SELECT * FROM dual 
  )
  SELECT * FROM x
);

或者:

SELECT * FROM dual
WHERE dummy IN (
   WITH x as (
      SELECT * FROM dual 
  )
  SELECT * FROM x
);

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用另一个表中的条件从表中进行SQL查询

来自分类Dev

使用SQL将Oracle数据库表的副本创建到另一个Oracle数据库

来自分类Dev

从多个表中选择,插入另一个表 Oracle SQL 查询

来自分类Dev

SQL通过使用另一个表值进行选择

来自分类Dev

SQL通过使用另一个表值进行选择

来自分类Dev

Oracle SQL Function使用来自另一个架构的数据表示表或视图不存在

来自分类Dev

使用正则表达式基于另一个 RDD 过滤一个 RDD

来自分类Dev

使用正则表达式替换替换Oracle SQL中的框字符

来自分类Dev

Oracle SQL 如何使用正则表达式构建字符串?

来自分类Dev

Oracle SQL,需要根据另一列中正则表达式的计数重复一个数字序列

来自分类Dev

如何使用SQL SELECT基于另一个表中的特定行查询表

来自分类Dev

使用正则表达式Oracle

来自分类Dev

正则表达式对另一个正则表达式的匹配结果使用条件

来自分类Dev

Oracle SQL从一个表中选择与另一个表相关的数据

来自分类Dev

Sql从表中选择但使用另一个表值作为where子句

来自分类Dev

使用另一个表中的值对SQL表进行排序

来自分类Dev

如何选择逗号,但如果使用另一个逗号,则在正则表达式中排除

来自分类Dev

oracle proc通过dblink使用另一个表更新一个表

来自分类Dev

如何使用正则表达式拆分两个粘贴的单词,一个全部大写,另一个以大写字母开头

来自分类Dev

如何使用基于复选框的选择将多行数据从一个 sql 表添加到另一个?

来自分类Dev

使用PHP的Apache日志文件的另一个正则表达式

来自分类Dev

使用正则表达式匹配另一个单词的排列单词

来自分类Dev

Oracle-PL / SQL编码-从另一个表插入多个表

来自分类Dev

Oracle SQL查询表并根据结果从另一个表中删除

来自分类Dev

使用正则表达式进行SQL更新

来自分类Dev

一个表中的SQL更新值与Oracle SQL Developer中的另一个表的值匹配

来自分类Dev

SQL Delete使用另一个表的值

来自分类Dev

SQL:如何使用另一个表中的信息选择某些内容

来自分类Dev

如何使用查询结果选择到SQL Server中的另一个表

Related 相关文章

  1. 1

    使用另一个表中的条件从表中进行SQL查询

  2. 2

    使用SQL将Oracle数据库表的副本创建到另一个Oracle数据库

  3. 3

    从多个表中选择,插入另一个表 Oracle SQL 查询

  4. 4

    SQL通过使用另一个表值进行选择

  5. 5

    SQL通过使用另一个表值进行选择

  6. 6

    Oracle SQL Function使用来自另一个架构的数据表示表或视图不存在

  7. 7

    使用正则表达式基于另一个 RDD 过滤一个 RDD

  8. 8

    使用正则表达式替换替换Oracle SQL中的框字符

  9. 9

    Oracle SQL 如何使用正则表达式构建字符串?

  10. 10

    Oracle SQL,需要根据另一列中正则表达式的计数重复一个数字序列

  11. 11

    如何使用SQL SELECT基于另一个表中的特定行查询表

  12. 12

    使用正则表达式Oracle

  13. 13

    正则表达式对另一个正则表达式的匹配结果使用条件

  14. 14

    Oracle SQL从一个表中选择与另一个表相关的数据

  15. 15

    Sql从表中选择但使用另一个表值作为where子句

  16. 16

    使用另一个表中的值对SQL表进行排序

  17. 17

    如何选择逗号,但如果使用另一个逗号,则在正则表达式中排除

  18. 18

    oracle proc通过dblink使用另一个表更新一个表

  19. 19

    如何使用正则表达式拆分两个粘贴的单词,一个全部大写,另一个以大写字母开头

  20. 20

    如何使用基于复选框的选择将多行数据从一个 sql 表添加到另一个?

  21. 21

    使用PHP的Apache日志文件的另一个正则表达式

  22. 22

    使用正则表达式匹配另一个单词的排列单词

  23. 23

    Oracle-PL / SQL编码-从另一个表插入多个表

  24. 24

    Oracle SQL查询表并根据结果从另一个表中删除

  25. 25

    使用正则表达式进行SQL更新

  26. 26

    一个表中的SQL更新值与Oracle SQL Developer中的另一个表的值匹配

  27. 27

    SQL Delete使用另一个表的值

  28. 28

    SQL:如何使用另一个表中的信息选择某些内容

  29. 29

    如何使用查询结果选择到SQL Server中的另一个表

热门标签

归档