作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要查明 Table_3 是否包含属于某个父级的子级的所有 sibling 。例如,我询问 12 号 child (家长 1 = Charles)。 Table_2 告诉我他还有 2 个 sibling ,分别为 14 和 23。现在,我如何编写 SQL 代码来查明 Table_3 是否包含所有 child ,然后且仅然后标记或执行某些操作?
表_1
id | parent
1 | Charles
2 | Jack
表_2
P_Id | chld_Id
1 | 12
1 | 14
1 | 23
2 | 7
2 | 13
表_3
chld_Id
5
7
12
16
14
23
25
编辑:格式化表格我忘了提及我使用 mySQL 和 PHP
最佳答案
您可以通过以下方式联系 12 号 child 的 parent :
select tt2.parent from table_2 tt2 where tt2.child_id = 12;
您可以获得这些 parent 的其他 child :
select t2.*
from table_2 t2
where t2.parent in (select tt2.parent from table_2 tt2 where tt2.child_id = 12);
您可以检查table_3
中是否缺少它们:
select t2.*
from table_2 t2
where t2.parent in (select tt2.parent from table_2 tt2 where tt2.child_id = 12) and
not exists (select 1 from table_3 t3 where t2.child_id = t3.child_id);
关于mysql - 如何找到所有 sibling 和同父异母 sibling ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27189913/
我是一名优秀的程序员,十分优秀!