在完全外连接期间排除空值

Exclude null value during full outer join

如何连接这两个 table 并排除所有空值?

我想要第一个 table 信息中的用户名,而不是第二个 table 中的 UserId。

你可以通过使用INNER JOIN

达到你想要的结果
SELECT UserProfile.*
FROM UserProfile
INNER JOIN UserLoginHistory ON UserProfile.UserId = UserLoginHistory.UserId AND UserLoginHistory.LogoutTime IS NOT NULL

这是两个选项(您没有指定哪些列来自哪个table)

A) 您只想获取没有空值的行,在这种情况下它是:

SELECT *  --(columns that you want)
FROM UserProfile t 
FULL OUTER JOIN UserLoginHistory s
ON t.UserId = s.UserId
AND s.LogoutTime IS NOT NULL

或者如果只有注销时间来自第二个 table,您需要内部联接而不是完全联接,在这种情况下:

SELECT *  --(columns that you want)
FROM UserProfile t
INNER JOIN UserLoginHistory s
ON t.UserId = s.UserId
AND s.LogoutTime IS NOT NULL