我正在嘗試加入 2 個表TBL_A并TBL_B使用濾色器獲得所需的輸出。
當過濾Color器存在于TBL_B.
但是當過濾的顏色值不在時它不會回傳所需的輸出 TBL_B
這是我目前使用的代碼:
DECLARE
@START_DATE DATETIME,
@END_DATE DATETIME,
@COLOR VARCHAR(10)
SET @START_DATE = '2021-12-07'
SET @END_DATE = '2021-12-08'
SET @COLOR = 'Red' -- can be Blue or Green based on requirement
SELECT TBL_A.ID_CLM,
TBL_A.DAY_CLM,
TBL_A.DT_CLM,
TBL_B.CLR_CLM
FROM TBL_A
LEFT JOIN TBL_B
ON TBL_B.DT_CLM = TBL_A.DT_CLM
WHERE TBL_A.DT_CLM BETWEEN @START_DATE AND @END_DATE
AND
(TBL_B.CLR_CLM IS NULL OR TBL_B.CLR_CLM IS NOT NULL)
我實際需要的圖形表示:
具有不同輸出且需要一個的影像
uj5u.com熱心網友回復:
您正在通過在 B 表上過濾的事實取消您的 OUTER 連接......只需洗掉過濾器并將其設定為連接謂詞,如下所示:
SELECT ...
FROM TBL_A
LEFT OUTER JOIN TBL_B
ON TBL_B.DT_CLM = TBL_A.DT_CLM
AND (TBL_B.CLR_CLM IS NULL OR TBL_B.CLR_CLM IS NOT NULL)
WHERE TBL_A.DT_CLM BETWEEN @START_DATE AND @END_DATE
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/387992.html
標籤:sql-server 加入
