1
我有以下表:其具有主鍵和用戶名例如使用外應用要返回空值
用戶
ID Username 1 Fred 2 John 3 Jack
事件具有主鍵和事件名稱
ID Eventname 1 Ferrari Road Show 2 Flower Show其中有主鍵,狀態更新和用戶ID(外鍵)
ID UserID UserStatus 1 1 Really Good 2 1 Leaving Now 3 2 I concur
和事件與會者
UserStatusUpdates表表具有主鍵和兩個外鍵(事件主鍵和用戶主鍵)
ID UserID EventID 1 1 1 2 2 1 3 3 1
我遇到的問題是我需要返回所有事件與會者加上他們的最新狀態更新,但有些情況下用戶並未實際進行狀態更新。
這是我的查詢看起來像:
SELECT EventAttendee.*, Users.UserName,Users.USERS_ID,
Users.ThumbnailPic,
Users.CountryName,
ISNULL(UserStatusUpdates.UserStatus,'No Updates')AS LastUpdate,
UserStatusUpdates.MediaTypeID,UserStatusUpdates.USERSTATUS_ID,(UserStatusUpdates.AddDate)
FROM EventAttendee
JOIN Users ON Events.UserID = Users.USERS_ID
OUTER APPLY (SELECT TOP 1 UserStatusUpdates.UserStatus,UserStatusUpdates.MediaTypeID,
UserStatusUpdates.USERSTATUS_ID,UserStatusUpdates.AddDate, UserStatusUpdates.UserID
FROM UserStatusUpdates where UserStatusUpdates.UserID = Users.USERS_ID
ORDER BY AddDate DESC) AS UserStatusUpdates WHERE UserStatusUpdates.UserID = EventAttendee.UserID
WHERE EventAttendee.EventID = @EventID
AND Users.bDeleted = 'False'
AND Users.bSuspended = 'False'
END
我怎樣才能找回誰可能沒有做了一個更新的用戶?
我不明白背靠背何在 - WHERE TempUserStatusUpdates.UserID = EventAttendee.UserID WHERE EventAttendee.EventID = @EventID – hatchet
對不起,這是一個錯誤,我已經改回了UserStatusUpdates。 – pmillio