27,579
社区成员
发帖
与我相关
我的任务
分享
SELECT A.ARR_DATE,B.NUMBER
FROM
(
SELECT BRANCH,ARR_DATE,CLASS_NO,STUD_NO FROM CLT09 WHERE
STATUS_CODE IN (SELECT ACTIVE_CODE FROM HRC22 WHERE USE_TYPE='2' AND ACTIVE_NOW='Y')
AND BRANCH='NCHC' AND ARR_DATE>='20101112' AND ARR_DATE<='20101212'
) AS A
INNER JOIN CLM10 ON A.CLASS_NO = CLM10.CLASS_NO AND A.BRANCH = CLM10.BRANCH
INNER JOIN
(
SELECT (CLT09.STUD_NO)AS STUD_NO,(count(*)+1)AS NUMBER FROM CLT29
left join CLT09 on CLT09.BRANCH=CLT29.BRANCH AND CLT09.CLASS_NO=CLT29.CLASS_NO WHERE CLT29.BRANCH='NCHC' AND LESN_DATE<CLT09.ARR_DATE
AND CLT29.CLASS_NO IN (A.CLASS_NO)
GROUP BY CLT09.STUD_NO
)AS B WHERE CLM10.BRANCH='NCHC' GROUP BY A.ARR_DATE,B.NUMBER
SELECT A.ARR_DATE,B.NUMBER
FROM
(
SELECT BRANCH,ARR_DATE,CLASS_NO,STUD_NO FROM CLT09 WHERE
STATUS_CODE IN (SELECT ACTIVE_CODE FROM HRC22 WHERE USE_TYPE='2' AND ACTIVE_NOW='Y')
AND BRANCH='NCHC' AND ARR_DATE>='20101112' AND ARR_DATE<='20101212'
) AS A
INNER JOIN CLM10 ON A.CLASS_NO = CLM10.CLASS_NO AND A.BRANCH = CLM10.BRANCH
INNER JOIN
(
SELECT (CLT09.STUD_NO)AS STUD_NO,(count(*)+1)AS NUMBER,CLASS_NO FROM CLT29
left join CLT09 on CLT09.BRANCH=CLT29.BRANCH AND CLT09.CLASS_NO=CLT29.CLASS_NO WHERE CLT29.BRANCH='NCHC'
AND LESN_DATE<CLT09.ARR_DATE
GROUP BY CLT09.STUD_NO
)AS B ON A.STUD_NO=B.STUD_NO AND A.CLASS_NO=B.CLASS_NO WHERE CLM10.BRANCH='NCHC' GROUP BY A.ARR_DATE,B.NUMBER
SELECT A.ARR_DATE,B.NUMBER
FROM
(
SELECT BRANCH,ARR_DATE,CLASS_NO,STUD_NO FROM CLT09 WHERE
STATUS_CODE IN (SELECT ACTIVE_CODE FROM HRC22 WHERE USE_TYPE='2' AND ACTIVE_NOW='Y')
AND BRANCH='NCHC' AND ARR_DATE>='20101112' AND ARR_DATE<='20101212'
) AS A
INNER JOIN CLM10 ON A.CLASS_NO = CLM10.CLASS_NO AND A.BRANCH = CLM10.BRANCH
INNER JOIN
(
SELECT (CLT09.STUD_NO)AS STUD_NO,(count(*)+1)AS NUMBER FROM CLT29
left join CLT09 on CLT09.BRANCH=CLT29.BRANCH AND CLT09.CLASS_NO=CLT29.CLASS_NO WHERE CLT29.BRANCH='NCHC'
AND LESN_DATE<CLT09.ARR_DATE
AND CLT29.CLASS_NO IN (A.CLASS_NO)
GROUP BY CLT09.STUD_NO
)AS B ON A.STUD_NO=B.STUD_NO WHERE CLM10.BRANCH='NCHC' GROUP BY A.ARR_DATE,B.NUMBER
SELECT A.ARR_DATE,B.NUMBER
FROM
(
SELECT BRANCH,ARR_DATE,CLASS_NO,STUD_NO FROM CLT09 WHERE
STATUS_CODE IN (SELECT ACTIVE_CODE FROM HRC22 WHERE USE_TYPE='2' AND ACTIVE_NOW='Y')
AND BRANCH='NCHC' AND ARR_DATE>='20101112' AND ARR_DATE<='20101212'
) AS A
INNER JOIN CLM10 ON A.CLASS_NO = CLM10.CLASS_NO AND A.BRANCH = CLM10.BRANCH
INNER JOIN
(
SELECT (CLT09.STUD_NO)AS STUD_NO,(count(*)+1)AS NUMBER,CLASS_NO FROM CLT29
left join CLT09 on CLT09.BRANCH=CLT29.BRANCH AND CLT09.CLASS_NO=CLT29.CLASS_NO WHERE CLT29.BRANCH='NCHC' AND LESN_DATE<CLT09.ARR_DATE
GROUP BY CLT09.STUD_NO
)AS B ON A.CLASS_NO=B.CLASS_NO WHERE CLM10.BRANCH='NCHC' GROUP BY A.ARR_DATE,B.NUMBER
SELECT A.ARR_DATE,B.NUMBER
FROM
(
SELECT BRANCH,ARR_DATE,CLASS_NO,STUD_NO FROM CLT09 WHERE
STATUS_CODE IN (SELECT ACTIVE_CODE FROM HRC22 WHERE USE_TYPE='2' AND ACTIVE_NOW='Y')
AND BRANCH='NCHC' AND ARR_DATE>='20101112' AND ARR_DATE<='20101212'
) AS A
INNER JOIN CLM10 ON A.CLASS_NO = CLM10.CLASS_NO AND A.BRANCH = CLM10.BRANCH
INNER JOIN
(
SELECT (CLT09.STUD_NO)AS STUD_NO,(count(*)+1)AS NUMBER FROM CLT29
left join CLT09 on CLT09.BRANCH=CLT29.BRANCH AND CLT09.CLASS_NO=CLT29.CLASS_NO WHERE CLT29.BRANCH='NCHC' AND LESN_DATE<CLT09.ARR_DATE
GROUP BY CLT09.STUD_NO
)AS B on A.CLASS_NO=B.CLASS_NO WHERE CLM10.BRANCH='NCHC' GROUP BY A.ARR_DATE,B.NUMBER
SELECT A.ARR_DATE,
B.NUMBER
FROM (SELECT BRANCH,
ARR_DATE,
CLASS_NO,
STUD_NO
FROM CLT09
WHERE STATUS_CODE IN (SELECT ACTIVE_CODE
FROM HRC22
WHERE USE_TYPE = '2'
AND ACTIVE_NOW = 'Y')
AND BRANCH = 'NCHC'
AND ARR_DATE >= '20101112'
AND ARR_DATE <= '20101212') AS A
INNER JOIN CLM10
ON A.CLASS_NO = CLM10.CLASS_NO
AND A.BRANCH = CLM10.BRANCH
INNER JOIN (SELECT ( CLT09.STUD_NO )AS STUD_NO,
( COUNT(*) + 1 ) AS NUMBER
FROM CLT29
LEFT JOIN CLT09
ON CLT09.BRANCH = CLT29.BRANCH
AND CLT09.CLASS_NO = CLT29.CLASS_NO
WHERE CLT29.BRANCH = 'NCHC'
AND LESN_DATE < CLT09.ARR_DATE
AND CLT29.CLASS_NO IN (SELECT CLASS_NO
FROM CLT09
WHERE STATUS_CODE IN (SELECT ACTIVE_CODE
FROM HRC22
WHERE USE_TYPE = '2'
AND ACTIVE_NOW = 'Y')
AND BRANCH = 'NCHC'
AND ARR_DATE >= '20101112'
AND ARR_DATE <= '20101212')
GROUP BY CLT09.STUD_NO)AS B
ON A.STUD_NO = B.STUD_NO
WHERE CLM10.BRANCH = 'NCHC'
GROUP BY A.ARR_DATE,
B.NUMBER
最好给出完整的表结构,测试数据,计算方法和正确结果.否则耽搁的是你宝贵的时间。
如果有多表,表之间如何关联?