SELECT Departments.*
 ,ISNULL(tblChildDepts.ChildDeptCount,0) AS ChildDeptCount
 ,ISNULL(tblDept.DeptCount,0) AS DeptCount
FROM Departments 
LEFT JOIN (
SELECT COUNT(dID) AS ChildDeptCount
, dParentID AS dID
FROM Departments
GROUP BY dParentID
) tblChildDepts
ON tblChildDepts.dID = Departments.dID
LEFT JOIN(
SELECT COUNT(uID) AS DeptCount
, dID
FROM User_Department
GROUP BY dID
) tblDept
ON tblDept.dID=Departments.dID
WHERE dParentID=ISNULL(@dParentID, dParentID)如果在SQL实现很复杂的话,那怎么去实现,尽量简单示例!