Ответ 1
SELECT * FROM
(SELECT [UserID] FROM [User]) a
LEFT JOIN (SELECT [TailUser], [Weight] FROM [Edge] WHERE [HeadUser] = 5043) b
ON a.UserId = b.TailUser
У меня есть два оператора SELECT в SQL Server:
(SELECT [UserID] FROM [User])
(SELECT [TailUser], [Weight] FROM [Edge] WHERE [HeadUser] = 5043)
Я хочу выполнить LEFT JOIN между этими двумя операторами SELECT в атрибуте [UserID] и [TailUser]. Я хочу присоединиться к существующим записям во втором запросе с соответствующими записями в первом запросе и значением NULL для отсутствующих записей. Как я могу это сделать?
SELECT * FROM
(SELECT [UserID] FROM [User]) a
LEFT JOIN (SELECT [TailUser], [Weight] FROM [Edge] WHERE [HeadUser] = 5043) b
ON a.UserId = b.TailUser
select *
from user
left join edge
on user.userid = edge.tailuser
and edge.headuser = 5043
SELECT [UserID] FROM [User] u LEFT JOIN (
SELECT [TailUser], [Weight] FROM [Edge] WHERE [HeadUser] = 5043) t on t.TailUser=u.USerID
Попробуйте следующее:
SELECT user.userID, edge.TailUser, edge.Weight
FROM user
LEFT JOIN edge ON edge.HeadUser = User.UserID
WHERE edge.HeadUser=5043
ИЛИ
AND edge.HeadUser=5043
вместо предложения WHERE.