J'ai deux instructions SELECT dans SQL Server comme celles-ci:
(SELECT [UserID] FROM [User])
(SELECT [TailUser], [Weight] FROM [Edge] WHERE [HeadUser] = 5043)
Je souhaite effectuer une jointure à gauche entre ces deux instructions SELECT sur les attributs [UserID] et [TailUser]. Je veux joindre des enregistrements existants dans la deuxième requête avec les enregistrements correspondants dans la première requête et la valeur NULL pour les enregistrements absents. Comment puis-je faire ceci?
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
Essaye ça:
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
au lieu de WHERE clausule.