如何在两个SELECT语句之间在SQL Server中执行LEFT JOIN?

moo*_*ara 22 sql relational-database sql-server-2008

我在SQL Server中有两个SELECT语句,如下所示:

(SELECT [UserID] FROM [User])
(SELECT [TailUser], [Weight] FROM [Edge] WHERE [HeadUser] = 5043)
Run Code Online (Sandbox Code Playgroud)

我想在[UserID]属性和[TailUser]属性上的这两个SELECT语句之间执行LEFT JOIN.我希望将第二个查询中的现有记录与第一个查询中的相应记录和缺失记录的NULL值相加.我怎样才能做到这一点?

Der*_*omm 63

SELECT * FROM 
(SELECT [UserID] FROM [User]) a
LEFT JOIN (SELECT [TailUser], [Weight] FROM [Edge] WHERE [HeadUser] = 5043) b
ON a.UserId = b.TailUser
Run Code Online (Sandbox Code Playgroud)


Ica*_*rus 6

SELECT [UserID] FROM [User] u LEFT JOIN (
SELECT [TailUser], [Weight] FROM [Edge] WHERE [HeadUser] = 5043) t on t.TailUser=u.USerID
Run Code Online (Sandbox Code Playgroud)