【发布时间】:2012-07-25 09:34:38
【问题描述】:
我与以下子表有父/子关系:
CHILD_ID PARENT_ID CHILD_VALUE
------------------------------
1 1 x
2 1 y
3 2 y
现在我想选择 CHILD_VALUE 所在的所有现有不同父母:
- child 的 value = x(只有 1 个或没有)
- 如果不存在值为 x 的子节点 - NULL
换句话说,如果没有孩子“匹配”该值,则显示所有具有“匹配”孩子的父母或 NULL。
所以结果应该是这样的:
PARENT_ID CHILD_ID CHILD_VALUE
------------------------------
1 1 x
2 NULL NULL
问题是在这种情况下如何缩小连接范围。
【问题讨论】:
-
你能解释一下你在“如果没有值为 x 的孩子存在”的情况下使用什么逻辑,结果 CHILD_ID 是
3而不是2或NULL? -
我在结果表中出错了,当然,父 2 的 CHILD_ID 必须为 NULL。