选择一个父母和所有给定父母或孩子ID的孩子

卑鄙的

我有一个表,允许一个父行有多个孩子:

ID    ParentID    Name
1     NULL        'I am the parent'
2     1           'I am a child'
3     1           'I am another child'
4     NULL        'I am a loner'

我正在寻找最简单,最有效的方法,从该“家族”中的任何给定ID返回“家族”中的所有行。如果给定1、2或3,则将返回前三行;如果给定4,则仅将返回最后一行*。

我希望在合理的情况下(或某种存储过程)将其作为单个SQL调用,因为这将经常被调用。

我的最佳尝试导致了多次致电:

SELECT ParentID FROM Person WHERE ID = @id

/*if (parentid == null)*/
    SELECT * FROM Person WHERE ID = @id OR ParentID = @id
/*else*/
    SELECT * FROM Person WHERE ID = @parentid OR ParentID = @parentid

*父级本身不能有父级,因此不需要递归。

蒂姆·施密特(Tim Schmelter)

您需要这些OR来找到您的家人:

SELECT * FROM Person WHERE ID = @id 
OR ParentID = @id 
OR ID = (SELECT ParentID FROM Person p2
         WHERE ID = @id)
OR ParentID = (SELECT ParentID FROM Person p2
         WHERE ID = @id)

Demo

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

选择一个父母和所有给定父母或孩子ID的孩子

来自分类Dev

与父母一起举一个孩子的例子

来自分类Dev

将一个孩子的改变传达给父母的父母

来自分类Dev

我如何称呼有至少一个孩子关系的孩子的父母?

来自分类Dev

父母和第一个/最后一个孩子的边际崩溃如何工作?

来自分类Dev

选择匹配的孩子父母的所有孩子表ID

来自分类Dev

让所有父母为孩子

来自分类Dev

父母div有两个孩子。即使不显示其他孩子,也要始终让一个孩子填满父母吗?

来自分类Dev

休眠两个父母一个孩子映射

来自分类Dev

由父母的另一个孩子生孩子

来自分类Dev

ActiveRecord-列出所有父母没有一个特定的孩子

来自分类Dev

指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()。(C#)

来自分类Dev

Android | 指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()

来自分类Dev

指定的孩子已经有一个父母。您必须先对孩子的父母调用removeView()

来自分类Dev

当所有孩子共享相同的值时查找父母ID

来自分类Dev

为现有父母保存一个孩子

来自分类Dev

Android:视图-孩子已经有一个父母

来自分类Dev

针对父母的所有孩子

来自分类Dev

如果一个模型以续集形式引用自己,如何使所有孩子或父母处于多对多关联中?

来自分类Dev

内在加入所有孩子前(n)个父母

来自分类Dev

指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()”

来自分类Dev

父母div有两个孩子。即使不显示其他孩子,也总是让一个孩子填满父母吗?

来自分类Dev

指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()

来自分类Dev

指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()。(C#)

来自分类Dev

Android | 指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()

来自分类Dev

从两个父母 CSS 获取所有特定的孩子

来自分类Dev

如何在一个查询中让所有孩子成为父母

来自分类Dev

查询所有孩子都有一对/重复的父母

来自分类Dev

选择所有孩子都有状态 x 的父母

Related 相关文章

  1. 1

    选择一个父母和所有给定父母或孩子ID的孩子

  2. 2

    与父母一起举一个孩子的例子

  3. 3

    将一个孩子的改变传达给父母的父母

  4. 4

    我如何称呼有至少一个孩子关系的孩子的父母?

  5. 5

    父母和第一个/最后一个孩子的边际崩溃如何工作?

  6. 6

    选择匹配的孩子父母的所有孩子表ID

  7. 7

    让所有父母为孩子

  8. 8

    父母div有两个孩子。即使不显示其他孩子,也要始终让一个孩子填满父母吗?

  9. 9

    休眠两个父母一个孩子映射

  10. 10

    由父母的另一个孩子生孩子

  11. 11

    ActiveRecord-列出所有父母没有一个特定的孩子

  12. 12

    指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()。(C#)

  13. 13

    Android | 指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()

  14. 14

    指定的孩子已经有一个父母。您必须先对孩子的父母调用removeView()

  15. 15

    当所有孩子共享相同的值时查找父母ID

  16. 16

    为现有父母保存一个孩子

  17. 17

    Android:视图-孩子已经有一个父母

  18. 18

    针对父母的所有孩子

  19. 19

    如果一个模型以续集形式引用自己,如何使所有孩子或父母处于多对多关联中?

  20. 20

    内在加入所有孩子前(n)个父母

  21. 21

    指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()”

  22. 22

    父母div有两个孩子。即使不显示其他孩子,也总是让一个孩子填满父母吗?

  23. 23

    指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()

  24. 24

    指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()。(C#)

  25. 25

    Android | 指定的孩子已经有一个父母。您必须先在孩子的父母上调用removeView()

  26. 26

    从两个父母 CSS 获取所有特定的孩子

  27. 27

    如何在一个查询中让所有孩子成为父母

  28. 28

    查询所有孩子都有一对/重复的父母

  29. 29

    选择所有孩子都有状态 x 的父母

热门标签

归档