繁体   English   中英

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

[英]How to perform a LEFT JOIN in SQL Server between two SELECT statements?

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

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

我想在 [UserID] 属性和 [TailUser] 属性的这两个 SELECT 语句之间执行 LEFT JOIN。 我想将第二个查询中的现有记录与第一个查询中的相应记录和缺失记录的 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

要么

AND edge.HeadUser=5043

而不是 WHERE 子句。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM