博客
关于我
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/

你可能感兴趣的文章
Netty源码—7.ByteBuf原理四
查看>>
Objective-C实现获取CPU温度(附完整源码)
查看>>
Objective-C实现获取文件头的50个字符(附完整源码)
查看>>
Objective-C实现随机图生成器算法(附完整源码)
查看>>
OJ中常见的一种presentation error解决方法
查看>>
OK335xS UART device registe hacking
查看>>
ok6410内存初始化
查看>>
OKR为什么到今天才突然火了?
查看>>
ollama本地部署DeepSeek(Window图文说明)
查看>>
onCreate()方法中的参数Bundle savedInstanceState 的意义用法
查看>>
one_day_one--mkdir
查看>>
ONI文件生成与读取
查看>>
oobbs开发手记
查看>>
OpenCV 中的图像转换
查看>>
opencv&Python——多种边缘检测
查看>>
OpenCV-Python接口、cv和cv2的性能比较
查看>>
opencv26-模板匹配
查看>>
OpenCV3 install tutorial for Mac
查看>>
opencv32-基于距离变换和分水岭的图像分割
查看>>
opencv4-图像操作
查看>>