我需要显示父节点有多少个后代,但在下面的查询中它显示了相反的方式。
class ApplicationSonataMediaBundle extends Bundle
{
/**
* {@inheritdoc}
*/
public function getParent()
{
return 'SonataMediaBundle';
}
}
在我的表结构中,我们将PKAssembly作为childId,将FKParentAssembly作为parentId。如果两者对于记录都相同,则表示其为父或单根。 结果如下所示:
WITH AssemblyList AS
(
SELECT
T.PKAssembly,
T.FKParentAssembly,
T.AssemblyNumber,
0 AS AssemblyLevel
FROM CT_Assemblies T WHERE T.FKParentAssembly = T.PKAssembly AND T.FKCustomer = 12 AND T.FKState = 1
UNION ALL
SELECT A.PKAssembly,
A.FKParentAssembly,
A.AssemblyNumber,
AL.AssemblyLevel + 1
FROM CT_Assemblies A
INNER JOIN AssemblyList AS AL ON A.FKParentAssembly = AL.PKAssembly
WHERE A.FKParentAssembly != A.PKAssembly AND A.FKCustomer = 12 AND A.FKState = 1
)
SELECT * FROM AssemblyList
这里第一条记录应该显示6,第二条记录显示为0,但它的反面方式相反。 我应该在查询中更改哪些内容才能使其正常工作?