【发布时间】:2019-12-12 03:46:50
【问题描述】:
我有两个具有相同列名的表并找到它们之间的区别?
class_time(父表)中的class_time(列名)
0200AM
0230AM
0300AM
0330AM
0400AM
0430AM
0500AM
0530AM
class_period(子表)中的class_time(列名)
0330AM
0200AM:0230AM:0300AM
他们之间的区别就像我想要的那样
0400AM
0430AM
0500AM
0530AM
我试过这个查询,但这个查询只减去 0330AM,因为 0330AM 没有冒号分隔
Select main.Class_time
from (
Select class_time from class_time where class_uid=:P216_CLASS_UID
)main
WHERE NOT EXISTS
(
select distinct trim(regexp_substr(class_time,'[^:]+', 1, level) ) class_time, level
from class_period where class_uid=:P216_CLASS_UID
and class_time=main.Class_time
connect by regexp_substr(class_time, '[^:]+', 1, level) is not null
);
【问题讨论】:
-
我敢打赌这个问题可以说得更清楚。根据上述数据的格式,您似乎在进行某种递归扫描,但是,没有提供任何键或架构可以让任何阅读本文的人以有意义的方式回答您的问题。
-
你可以分享你迄今为止为解决问题所做的尝试。
-
请看我尝试过的代码,我已经更新了我的问题
-
edit 您的问题并发布数据库表
class_time和表class_period的列名称及其数据类型。