【发布时间】:2021-06-01 13:28:09
【问题描述】:
我正在尝试加入两个表
WITH A AS (
(SELECT 'KIM' AS NAME,
'20160503' AS DATE
FROM DUAL)
UNION
(SELECT 'LEE' AS NAME,
'20160307' AS DATE
FROM DUAL)
UNION
(SELECT 'PARK' AS NAME,
'20170728' AS DATE
FROM DUAL)
),
B AS (
(SELECT '20160227' AS INTERVAL,
'1' AS NUM
FROM DUAL)
UNION
(SELECT '20160520' AS INTERVAL,
'2' AS NUM
FROM DUAL)
UNION
(SELECT '20170825' AS INTERVAL,
'3' AS NUM
FROM DUAL)
)
在这种情况下,我想在 A 中加入 B 的记录,如下所示
'KIM' '20160503' '20160227' '1'
'LEE''20160307''20160227'1'
'PARK' '20170728' '20160520' '2'
最重要的是,表 A 根本没有变化,但表 B 会根据某些情况而变化。
所以,我现在不能简单地在表 A 中使用 CASE,我必须将表 A 与发生变化的表 B 连接起来。
简而言之,我想考虑间隔将表 A 与表 B 连接起来。
如果你给我一个正确的建议,我真的很感激。
(我正在使用 Oracle DBMS)
【问题讨论】:
-
在什么条件下加入表?并且不要使用字符串作为日期/时间,而是使用适当的日期/时间类型。整数/数字也是如此。