gpt4 book ai didi

Oracle where 子句中的 SQL 查询

转载 作者:行者123 更新时间:2023-12-02 08:13:04 25 4
gpt4 key购买 nike

我的表 Groups 有 3 行,IDGROUP_NAMEPARENT_GROUP_ID,表本身显示了一个基本组-子组功能。示例是:如果我的组名称是 ID = 1 的“First Group”,并且它有一个名为“Sub Group”的子组,ID = 2,并且 PARENT_GROUP_ID = 1;这意味着 Sub Group 是 ID = 1 的组的子组。我的问题是我有一个过程,它根据参数加载数据(pn_parent_group_id 是一个数)

CURSOR c1 IS
SELECT * FROM GROUPS WHERE PARENT_GROUP_ID = pn_parent_group_id;

当我将任何 pn_parent_group_id 发送到过程中时,此查询工作正常,并且它找到所有必要的子组,但是当我将 NULL 发送到 pn_parent_group_id 时,它工作错误,因为它应该返回那些没有 parent_group_id 的子组(意味着只有父组)。我知道我的解释不足,但我希望你明白了,我们将不胜感激!

最佳答案

Null 永远不等于 null。因此,您需要为游标添加 null 的显式测试。

CURSOR c1 IS
SELECT * FROM GROUPS
WHERE PARENT_GROUP_ID = pn_parent_group_id
or (pn_parent_group_id is null and parent_group_id is null);

关于Oracle where 子句中的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44381333/

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