博客
关于我
oracle一张表的id关联另一张表中的字段
阅读量:502 次
发布时间:2019-03-07

本文共 899 字,大约阅读时间需要 2 分钟。

步骤说明:

要将表二中事件中提到的多个学号对应到表一中的对应学生信息,可以按照以下步骤进行:

第一步,首先从表二中提取所有事件中包含的学号,存入临时表。

CREATE TABLE test_tb (    value VARCHAR2(50));INSERT INTO test_tbSELECT regexp_substr(t.event, '[0-9]{9}(,[0-9]{9})*') AS valueFROM test_oper tWHERE regexp_substr(t.event, '[0-9]{9}(,[0-9]{9})*') IS NOT NULL;

第二步,在临时表 test_tb 中使用连接操作 CONNECT BY 将每个学号单独提取出来,对应到表一中的 idnum 字段。

WITH mm AS (    SELECT        regexp_substr(value, '[^,]+', 1, LEVEL) AS tid,        QUEUE    FROM        test_tb    CONNECT BY        value = PRIOR value    AND LEVEL <= (LENGTH(value) - LENGTH(REGEXP_REPLACE(value, ',', ''))) + 1    AND PRIOR DBMS_RANDOM.VALUE IS NOT NULL)

第三步,将提取的学号与表一中的数据关联,展示学生的完整信息。

SELECT mmm.tid, t.idnum, t.sname, t.scoreFROM mm, test_student tWHERE mmm.tid = t.idnumORDER BY t.idnum;

这样最终会生成一个包含学号、学生姓名和成绩的结果表,每个学号都会独立列出对应的学生信息。完成以上步骤后,可以看到每个学号对应的学生姓名及成绩被正确关联和显示出来。

通过以上步骤,问题得到有效解决,确保了表二中提到的学号能够在表一中找到对应信息,实现数据的一致性和准确性。

转载地址:http://mpijz.baihongyu.com/

你可能感兴趣的文章
Plotly 绘制表面 3D 未显示
查看>>
Plotly-Dash 存在未知问题并创建“加载依赖项时出错“;通过使用 Python-pandas.date_range
查看>>
Plotly-Dash:如何过滤具有多个数据框列的仪表板?
查看>>
Plotly:如何为 x 轴上的时间序列设置主要刻度线/网格线的值?
查看>>
Plotly:如何从 x 轴删除空日期?
查看>>
Plotly:如何从单条迹线制作堆积条形图?
查看>>
Plotly:如何以 Root 样式绘制直方图,仅显示直方图的轮廓?
查看>>
Plotly:如何使用 Plotly Express 组合散点图和线图?
查看>>
Plotly:如何使用 plotly.graph_objects 和 plotly.express 定义图形中的颜色?
查看>>
Plotly:如何使用 Python 对绘图对象条形图进行颜色编码?
查看>>
Plotly:如何使用 updatemenus 更新一个特定的跟踪?
查看>>
Plotly:如何使用长格式或宽格式的 pandas 数据框制作线图?
查看>>
Plotly:如何向烛台图添加交易量
查看>>
Plotly:如何在 plotly express 中找到趋势线的系数?
查看>>
Plotly:如何在桑基图中设置节点位置?
查看>>
Plotly:如何处理重叠的颜色条和图例?
查看>>
Plotly:如何手动设置 plotly express 散点图中点的颜色?
查看>>
Plotly:如何结合 make_subplots() 和 ff.create_distplot()?
查看>>
Plotly:如何绘制累积的“步骤“;直方图?
查看>>
Quartz进一步学习与使用
查看>>