0

我需要从父表中显示我的 sql 中子记录少于 4 的记录(根本没有子记录也可以),请需要 SQL 查询。

4

2 回答 2

1

这是查询:

SELECT
  pt.id, pt.somefield, COUNT(pt.id) as c
FROM
  parenttable pt
LEFT OUTER JOIN
  chiledtable ct
ON
  ct.parenttable_id = pt.id
GROUP BY
  pt.id
HAVING
  c <= 4
于 2012-08-04T16:34:01.227 回答
0

您可以使用子查询来计算子行数:

select  *
from    ParentTable as p
left join
        (
        select  parentid
        ,       count(*) as cnt
        from    ChildTable
        group by
                parentid
        ) as c
on      c.parentid = p.id
where   c.cnt <= 3
于 2012-08-04T16:27:52.243 回答