您好:
如下語法
資料檔 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%'
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'))