다음은 Microsoft Access에서 사용하는 sql 파일입니다. 하위 쿼리를 기반으로 데이터를 선택하고 싶습니다.SQL 쿼리로 인해 Microsoft Access가 중지된다
하위 쿼리를 별도로 실행하는 것이 좋습니다. 30 초 이내에 결과를 반환합니다. 하지만 다음 SQL을 모두 실행하면 ms 액세스의 응답이 없습니다. 쿼리를 실행하는 것이 바쁠 것 같지만 결과가 반환되지 않습니다.
SELECT '2012/8' AS [Period],
monthno,
[cluster],
'Transfer in' AS Remark,
Count(*) AS [number],
'4' AS [sorting]
FROM [2012],
namesort
WHERE monthno = 244
AND (div <> 'XXX'
OR div IS NULL)
AND hc = 1
AND [2012].post = namesort.post
AND monthno BETWEEN namesort.monthno_start AND namesort.monthno_end
AND [2012].term <> 'Temporary'
AND empid IN (SELECT empid
FROM (SELECT empid,
[cluster],
Count(*) AS [empid no]
FROM (SELECT empid,
cluster
FROM [assignment]
INNER JOIN yearmonth
ON [assignment].[year month]
=
yearmonth.[year month]
WHERE yearmonth.[monthno] = 243
AND [assignment].hc = 1
AND [assignment].term <> 'Temporary'
UNION
SELECT empid,
[cluster]
FROM [2012]
WHERE monthno = 244
AND [2012].term <> 'Temporary'
AND (div <> 'XXX'
OR div IS NULL)
AND hc = 1)
GROUP BY [empid],
[cluster]
HAVING Count(*) = 1)
GROUP BY empid
HAVING Count(*) > 1)
GROUP BY monthno,
[cluster]
훨씬 빨리^_^. 소량의 샘플 데이터와이 쿼리를 간소화 할 수있는 필요한 것에 대한 설명으로 테이블 구조를 게시 할 수 있습니까? –