从表中提取字符串以在查询中使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从表中提取字符串以在查询中使用相关的知识,希望对你有一定的参考价值。

我刚开始使用PL / SQL。我们将条件语句存储为一个表中的字符串(下面的表1),并希望根据另一个表中的公共变量(下面的表2)选择它们,如下所示:

表格1

ID  Statement
1   Case when col_1 = a or (col_1 = x and col_2 = m) then b else c end as Col_3
2   Case when col_1 = p and col_2 = n then q else r end as Col_3

表2

Case_ID   Col_1   Col_2
1         x       y
1         a       m
2         p       n 

决赛桌应该是这样的:

Col_1  Col_2  Col_3
x      y      c
a      m      b
p      n      q
答案

您可能想要使用动态SQL:

Begin
  For v_rec In (SELECT t2.Col_1,
                       t2.Col_2,
                       t1.statement
                  FROM TABLE2 t2
                 INNER JOIN TABLE1 t1
                    ON t2.Case_ID = t1.ID)
  Loop
    Execute Immediate 'INSERT INTO FINAL_TABLE(Col_1, Col_2, Col_3) ' ||
                      'SELECT Col1, Col2, ' || v_rec.statement ||
                      ' FROM ( SELECT :Col1 AS Col1, :Col2 AS Col2 FROM DUAL)'
                Using v_rec.Col_1, v_rec.Col_2;
  End Loop;
End;

以上是关于从表中提取字符串以在查询中使用的主要内容,如果未能解决你的问题,请参考以下文章

如何编写 SQL 查询以从表中提取 50% 的记录?

MySQL 查询从表中检索数据和第二个查询以提取其他结果,没有重复

如何从表中获取所有数据,包括表 ID

PDO 从表中提取一列到一维数组中

R从表中提取公式并在函数中使用[关闭]

使用 BeautifulSoup 从表中提取 tds 并将它们与表 id 一起排列在 Pandas 数据框中