SQL Serverには次のような2つのSELECTステートメントがあります。
(SELECT [UserID] FROM [User])
(SELECT [TailUser], [Weight] FROM [Edge] WHERE [HeadUser] = 5043)
[UserID]属性と[TailUser]属性で、これら2つのSELECTステートメント間でLEFT JOINを実行します。 2番目のクエリの既存のレコードを、最初のクエリの対応するレコードと、存在しないレコードの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 [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
これを試して:
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
wHERE句の代わりに。