I have two SELECT statements in SQL Server like these:

(SELECT [UserID] FROM [User]) (SELECT [TailUser], [Weight] FROM [Edge] WHERE [HeadUser] = 5043) 

I want to perform a LEFT JOIN between these two SELECT statements on [UserID] attribute and [TailUser] attribute. I want to join existent records in second query with the corresponding records in first query and NULL value for absent records. How can I do this?

1

4 Answers

SELECT * FROM (SELECT [UserID] FROM [User]) a LEFT JOIN (SELECT [TailUser], [Weight] FROM [Edge] WHERE [HeadUser] = 5043) b ON a.UserId = b.TailUser 
SELECT [UserID] FROM [User] u LEFT JOIN ( SELECT [TailUser], [Weight] FROM [Edge] WHERE [HeadUser] = 5043) t on t.TailUser=u.USerID 
select * from user left join edge on user.userid = edge.tailuser and edge.headuser = 5043 
0

Try this:

SELECT user.userID, edge.TailUser, edge.Weight FROM user LEFT JOIN edge ON edge.HeadUser = User.UserID WHERE edge.HeadUser=5043 

OR

AND edge.HeadUser=5043 

instead of a WHERE clause.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy