SQL 分层数据



>我在sql服务器中有以下要求,我需要报告catg"FIN"的子代的数据,这些子项是父项的直系后代。

输入

parent,child,parent_catg,child_catg
A   A   FIN FIN
A   B   FIN FIN
B   B   FIN FIN
A   C   FIN FIN
B   C   FIN FIN
C   C   FIN FIN
B   D   FIN FIN
C   D   FIN FIN
E   E   OTH OTH
E   F   OTH OTH
A   G   FIN FIN
B   G   FIN FIN
A   H   FIN FIN
P   P   FIN FIN
P   Q   FIN FIN

输出

Eligible children for reporting
B
H
Q

谁能帮忙?

您可以使用 group by 和 count((。 即:

select child 
from myTable
where child_catg = 'FIN' and parent <> child
group by child
having count(*) = 1;

最新更新