DECLARE @Temp TABLE (Region VARCHAR(75))
INSERT INTO @Temp
SELECT distinct classname from x where class = 'y' and date = '12/31/2015'
SELECT *
FROM @Temp T LEFT OUTER JOIN x N ON N.Classname = T.Region where T.Region NOT LIKE '%Cash%'
AND N.[Code] = '785'
AND N.Horizon = 'year'
AND N.[date] = '12/31/2015'
这必须返回Temp中的所有类名,包括x中没有记录的类名。至少这是我的意图。没有临时和相同条件的X,只返回它有数据的那些。我希望Temp中的所有类名都没有X中的条目。它仍然没有这样做。
无法解决它。尝试不存在,除外和外适用。他们都没有工作。请帮忙!
答案 0 :(得分:1)
您需要将第二个表上的条件移动到on
子句中:
SELECT *
FROM @Temp T LEFT OUTER JOIN
x N
ON N.Classname = T.Region AND
N.[Code] = '785' AND
N.Horizon = 'year' AND
N.[date] = '2015-12-31'
WHERE T.Region NOT LIKE '%Cash%';
假设date
存储为日期,请使用适当的ISO标准日期格式进行查询。