我正在尝试将这两个表连接起来,以显示基础记录和历史中的空值。 我遇到的问题是左外连接。 当BO.val2 = 0时:我希望连接只使用BO.VAL5 = TR.VAL5,但当BO.val2 = TR.val2时,我希望它用于连接。 下面的代码只是一个想法。 如果您对如何执行此操作有任何建议,那就太好了!
SELECT DISTINCT
BO.RUN_DATE,
BO.val2,
BO.val3,
BO.val4,
BO.VAL5
TR.DTDATE,
TR.val2,
TR.val3,
TR.val4,
TR.val5
FROM BASE BO
LEFT OUTER JOIN HISTORY AS TR ON CASE
WHEN BO.val2 = 0 and BO.VAL5 = TR.VAL5 THEN ????
WHEN BO.val2 = TR.val2 and BO.VAL5 = TR.VAL5 then ???
ELSE ??
END
WHERE TRUNC(BO.POST_DATE)= TRUNC(SYSDATE)
ORDER BY BO.VAL4 ;