22,210
社区成员
发帖
与我相关
我的任务
分享
SELECT *
FROM
(
SELECT *,
ROW_NUMBER() OVER (ORDER BY ChildId) AS RowNumber
FROM
(
SELECT TOP 100
C.Id AS ChildId,
F.Relationship,
C.EName,
C.CName,
C.Sex,
C.Birthday,
C.RegNo,
C.CaseNo,
C.SocialWorkerId,
C.CurrentStatus,
U.DisplayName AS SocialWorker,
ISNULL(
(
SELECT TOP (1)
GroupName
FROM dbo.GroupRecord
WHERE (ChildId = C.Id)
ORDER BY CreatedOnDate DESC
),
''
) AS CurrentGroup,
ISNULL(F.FCName, F.FEName) AS FCName,
(
SELECT COUNT(*)
FROM ContactRecord
WHERE ChildId = C.Id
AND Situation IN ( '3', '6' )
AND Relationship IN ( '父', '父,母' )
) AS FCount,
(
SELECT COUNT(*)
FROM ContactRecord
WHERE ChildId = C.Id
AND Situation IN ( '3', '6' )
AND Relationship IN ( '母', '父,母' )
) AS MCount
FROM Children AS C
INNER JOIN dbo.Family AS F
ON F.ChildId = C.Id
AND F.Relationship IN ( '母親', '父親' )
LEFT OUTER JOIN dbo.Users AS U
ON U.UserID = C.SocialWorkerId
WHERE C.id NOT IN (
SELECT TOP 0 C.id FROM Children ORDER BY ID DESC
)
ORDER BY C.ID DESC
) t
) AS A
WHERE A.RowNumber
BETWEEN 0 AND 3;