您好:如下语法资料档 INNER JOIN 关帐档(条件对,才会有资料 的特性 来做),如下所示1.若条件 资料档日期 > 关帐档日期 ,代表日期非关帐档日期内,要有资料跑出来,用这跑出来的资料去做其他事这基础逻辑可以做到

但,现在要加上 资料档日期 <= 关帐档日期,且 关帐档STUS_CL栏位=C 的请况下表是 完全关帐,这样整笔关联资料都不会产生期他要有资料产生

但结果却达不到要求所以想请问一下逻辑哪边错误谢谢

;WITH wk as (
/*资料档*/
SELECT \'1\' \'workno\',\'20241031\' \'hrdate\'
/*关帐档*/
), cx as (
SELECT \'1\' \'workno\',\'20241031\' \'closedate\', \'\' \'stus_cl\'
)SELECT *
from wk inner join cx on wk.workno=cx.workno
where hrdate> closedate and cx.stus_cl not LIKE \'%C%\'

1 个回答

1

allenlai

iT邦新手 5 级 ‧ 2024-11-21 07:12:52

最佳解答

WITH wk AS (
    SELECT \'1\' \'workno\', \'20241031\' \'hrdate\'
), cx AS (
    SELECT \'1\' \'workno\', \'20241031\' \'closedate\', \'\' \'stus_cl\'
)
SELECT *
FROM wk INNER JOIN cx ON wk.workno = cx.workno
WHERE (hrdate > closedate)
   OR (hrdate <= closedate AND (cx.stus_cl IS NULL OR cx.stus_cl <> \'C\'))

  • 1

noway

iT邦研究生 1 级 ‧
2024-11-21 09:28:10

您好:
这样可以
谢谢

修改