2012-02-22 85 views
1

我使用2008年SSMS,我試圖寫一個TSQL語句來多隻返回記錄「intake_dt」每「people_id」的價值觀。但是,下面的這個查詢似乎沒有工作。我如何重寫這個?如何寫一個T-SQL查詢有?

SELECT el.people_id, el.actual_date 
INTO #READMISSIONS 
from event_log_rv el 
join enrollment_view en on en.event_log_id = el.event_log_id 
join (select actual_date from event_log_rv where actual_date is not null group by actual_date having count(*) > 1) t on t.actual_date = el.actual_date 
where el.actual_date is not null 
group by el.people_id, el.actual_date 

我沒有收到任何錯誤,但輸出不顯示一個記錄/人。我想要的是每個人的最新actual_date記錄。

+0

*但是下面這個查詢似乎並不奏效*。它以什麼方式不起作用?你有錯誤嗎?如果是這樣,請發佈您的錯誤消息。 – 2012-02-22 19:36:55

回答

0

這是否給你你想要的結果?

SELECT el.people_id, 
    Max(el.actual_date) Max_Actual_Date 
INTO #READMISSIONS 
FROM event_log_rv el 
INNER JOIN enrollment_view en 
    ON en.event_log_id = el.event_log_id 
INNER JOIN (
    SELECT actual_date 
    FROM event_log_rv 
    WHERE actual_date IS NOT NULL 
    GROUP BY actual_date 
    HAVING COUNT(*) > 1 
    ) t 
    ON t.actual_date = el.actual_date 
GROUP BY el.people_id,