如何查询存在缺失子记录的t_parent表数据?
查询存在缺失子记录的父表记录
表结构与数据
父表(t_parent)
| ID | 名称 | MAX_CHILDREN_KEY |
|---|---|---|
| 1 | 父级1 | 3 |
| 2 | 父级2 | 4 |
| 3 | 父级3 | 1 |
| 4 | 父级4 | 7 |
| 5 | 父级5 | 7 |
| 6 | 父级6 | 2 |
| 7 | 父级7 | 2 |
子表(t_children)
| ID | PARENT_ID | SORT_KEY | 名称 |
|---|---|---|---|
| 1 | 1 | 1 | 父级1 子级1 |
| 2 | 1 | 2 | 父级1 子级2 |
| 3 | 1 | 3 | 父级1 子级3 |
| 4 | 2 | 1 | 父级2 子级1 |
| 5 | 2 | 4 | 父级2 子级4 |
| 6 | 3 | 1 | 父级3 子级1 |
| 7 | 4 | 1 | 父级4 子级1 |
| 8 | 5 | 7 | 父级5 子级7 |
| 9 | 6 | 2 | 父级6 子级2 |
| 10 | 6 | 2 | 父级6 子级2(重复) |
| 11 | 7 | 3 | 父级7 子级3 |
| 12 | 7 | 4 | 父级7 子级4 |
需求说明
判断规则:根据t_parent.MAX_CHILDREN_KEY和t_children.SORT_KEY,子记录应包含从1到MAX_CHILDREN_KEY的所有SORT_KEY值。
根据上述数据集,查询应返回:
父级2- 缺失子级2和子级3父级4- 缺失子级2到子级7父级5- 缺失子级1到子级6父级6- 虽有2个子记录,但缺失子级1父级7- 虽有2个子记录,但缺失子级1和子级2
当前使用having count(1)来匹配子记录数量,但该方法无法包含父级6和父级7,求正确的查询方法。
内容的提问来源于stack exchange,提问作者Gideon
相关产品推荐
相关产品推荐

