gpt4 book ai didi

c# - HQL 子查询的意外 NULL 返回

转载 作者:太空宇宙 更新时间:2023-11-03 16:06:55 29 4
gpt4 key购买 nike

我已经在我的 C# Web 应用程序中使用 NHibernate 完成了我的 OR 映射。当我想获取所有叶节点时,我使用这样的查询语句:

List<NODE> LeafList =(List<NODE>) Session.CreateQuery("from NODE as node where node.Id not in (select FatherNodeId from NODE)").List<NODE>();

但是,我在查询后得到 LeafList 的计数等于 0。我的数据库是这样的:

Id FatherNodeId
1 NULL
3 1
4 3
5 3

因此,我的预期结果应该是 id 为 4 或 5 的节点。更令人困惑的是,如果我将“not in”更改为“in”,查询将正常运行,并返回 id 为 1 或 3 的节点。

那么我的 not in 子查询有什么问题呢?

最佳答案

使用不存在关键字

试试这个。

from NODE as node where node.Id not exists ( select  FatherNodeId from NODE)

关于c# - HQL 子查询的意外 NULL 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18996141/

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