gpt4 book ai didi

c# - 除了匹配行之外,左外连接还返回空右侧

转载 作者:行者123 更新时间:2023-11-29 13:19:13 25 4
gpt4 key购买 nike

我正在尝试创建一个查询,该查询将返回两个表的左外连接,但对于每个匹配都会有一个额外的行。右侧额外的行为空。这是一个例子:

Join

这是我当前使用 linq 的查询(也赞赏 SQL 中的响应):

context.Code
.GroupJoin(
context.SubCode,
code => code.CodeID,
sub => sub.CodeID,
(code, sub) => new
{
Codes = code,
SubCodes = sub
})
.SelectMany(sub => sub.SubCodes.DefaultIfEmpty(),
(code, sub) => new { Codes = code.Codes, SubCodes = sub })
.ToList();

编辑(解决方案?):

SELECT Codes.ID, Codes.Code, SubCodes.SubCode
FROM Codes
INNER JOIN SubCodes
ON Codes.ID = SubCodes.CodeID
UNION
SELECT Codes.ID, Codes.Code, NULL
FROM Codes
ORDER BY Codes.ID

最佳答案

这是执行您想要的操作的 SQL:

(select c.id, c.code, sc.subCode
from codes c join
subcodes sc
on c.id = sc.codeid
) union all
(select c.id, c.code, NULL
from codes c
)

关于c# - 除了匹配行之外,左外连接还返回空右侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21068339/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com