【发布时间】:2022-01-21 00:23:44
【问题描述】:
我正在尝试加入 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)
我实际需要的图形表示:
【问题讨论】:
-
您能否编辑您的帖子并包含示例数据和所需的输出作为文本而不是图像?
-
请避免发布images的数据,示例数据应该是您问题中的consumable text,最好是create和insert 语句,或者DB<>Fiddle
标签: sql-server join