mysql:查询一列中的值等于另一列中的值的次数

yeotifhr  于 2021-07-29  发布在  Java
关注(0)|答案(2)|浏览(319)

我有一个这样的表(减去最后一列'subjob count')
照片
如何查询以生成最后一列,即计算作业编号等于行的“父作业编号”的作业数?
我试过了 SELECT jobNo, jobName, ParentJobNo, (SELECT COUNT(*) FROM Jobs WHERE ParentJobNo = jobNo) FROM Jobs 但是这似乎检查了每一行的jobno和它自己的parentjobno(给我0)
感谢您的帮助!

jhiyze9q

jhiyze9q1#

您的方法很好,只需使用限定列名:

SELECT j.jobNo, j.jobName, j.ParentJobNo,
       (SELECT COUNT(*) FROM Jobs j2 WHERE j2.ParentJobNo = j.jobNo)
FROM Jobs j
zaqlnxep

zaqlnxep2#

您需要一个递归查询来查找父“job no”。

select j1.partenJobNo parent, j2.jobNo jobno from job j1 inner join job j2 where j1.partenJobNo = j2.jobNo.

相关问题