2012-10-26 2 views
3

중복 목록의 세부 정보를 얻으려는 경우 Foldername은 중복 값입니다. 복제 인스턴스의 수와 복제본의 각 인스턴스에 대해 FullPath과 같은 기타 해당 열이 필요합니다.SQL에 액세스 - 개수 조회에 추가 열 표시

각 단위 풀 패스의 목록을 해당 폴더 이름 카운트와 단위, 크기 등과 같은 추가 열과 함께 반환하려고합니다.

FolderName (has the possibility of a duplicate) 
FullPath (is completly unique) 

나는 이것에 약간의 찌르다. SQL Server에서 이것은 더 명백하게 보입니다 ...하지만 Access에서는 약간 잃어 버렸습니다.

이것은 내가 지금까지 가지고 올 한 기본 SQL입니다 : 여기

/* ''''''''''''''Works but doesn't return Count'''''''''''''' */ 
Select Snapshot.Unit, Snapshot.FolderName, Snapshot.FullPath 
From Snapshot 
Where Snapshot.FolderName in 
(
    Select Snapshot.FolderName 
    From Snapshot 
    Group by Snapshot.Foldername 
    Having Count(Snapshot.FolderName)> 1 
) 
Order by Snapshot.FolderName, Snapshot.FullPath 

내가 원하는 예를 들어 출력을 얻을 수있다 :

Unit  FolderName  FullPath       Count 
BCU  Misc   C:\blah\blah\blah\Misc   2 
ENV  Misc   R:\blah\blah\blah\Misc   2 
CLR  Monkey   Q:\blah\blah\blah\blah\Monkey  17 
ATL  Zebra   Z:\blah\blah\zoo\Zebra   24 

내가 참조 : Having trouble using count() in Access SQL query

답변

5

하위 쿼리에서 카운트를 수행하고 하위 쿼리에서 INNER JOIN 스냅 샷을 계산합니다.

SELECT s.Unit, s.FolderName, s.FullPath, sub.num_dupes 
FROM 
    Snapshot AS s 
    INNER JOIN 
    (
     SELECT FolderName, Count(*) AS num_dupes 
     FROM Snapshot 
     GROUP BY FolderName 
     HAVING Count(*)> 1 
    ) AS sub 
    ON s.FolderName = sub.FolderName 
ORDER BY s.FolderName, s.FullPath 
+0

빙고! 정확히 내가 무엇을 찾고 있었는지. 고마워요. 당신이 전에 나를 도왔다 고 믿었습니다. 다시 한번 감사드립니다. –

+0

하위 쿼리와 복잡한 쿼리를 더 잘 이해하는 방법에 대한 책이나 웹 사이트의 권장 사항은 무엇입니까? –

+1

Allen Browne이 (가)이 페이지를 확인하십시오 : http://allenbrowne.com/subquery-01.html 및 http://allenbrowne.com/subquery-02.html – HansUp