2016-02-19 71 views
0
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中所有條目的所有類名。它仍然沒有那樣做。用於返回空記錄的SQL外連接問題

無法解決它。試過不存在,除外和適用。他們都沒有工作。請幫忙!

回答

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標準的日期格式爲您查詢。

+0

這很棒!謝謝戈登。 – NotaTechie