2016-06-21 2 views
0

이 항목에는 많은 스레드가 있지만 Excel에서는 작동하지 않는 스레드가 많습니다.JET를 사용하여 Distinct를 선택하고 PKEY를 사용하지 않음 - 중복 행

  1. 이상적으로 사용자가 새 열을 추가하는 경우가 SQL을 편집 할 필요가 없습니다 수 그래서 만약 즉 * 사용하는 모든 열 :

    나는 내가 선택하려는 간단한 테이블이 있습니다. (이것은 파이프 꿈입니까?) 그렇다면 반환 된 모든 열을 지정하는 솔루션은 괜찮습니다. (연결된) [이름] & [날짜] 행이 반환되는 대해 난 상관 없어 다른 모든 열

  2. 별개입니다

  3. 은 행을 반환합니다. 첫번째, 마지막, 제한 1 ... 아무거나. 그들은 모든 유형의 혼합입니다.

  4. 이것은 단지 선택하고 또한

    name date  sales 
    andy 01/01/2010 100 
    andy 01/01/2010 900 
    andy 05/01/2010 100 
    alex 02/02/2010 200 
    alex 02/02/2010 200 
    alex 05/01/2010 200 
    dave 09/09/2010 300 
    dave 09/09/2010 300 
    dave 01/09/2010 300 
    

코드 단순 속도를 통해 선호되는 결합, 행을 새 테이블을 만들거나 삭제할 수 없습니다. 이것은 멋지게 보이지만 속도가 좋으므로 야간에 뛰어 다니게 될 것입니다 ... 그리고 수백만 줄이 없습니다!

미리 감사드립니다.

나는 테이블은 다음과 같이 기대

UPDATE :

SELECT MAX(joined) 
    FROM 
     (SELECT [Single$].[date] AS [date], 
      [Single$].[name] AS [name], 
      name & date AS [joined] 
     FROM [Single$] 
     ) 
GROUP BY joined 
HAVING MAX(joined) IS NOT NULL 

하지만 난 모르겠어요 :

name date  sales 
andy 01/01/2010 100 
andy 05/01/2010 100 
alex 02/02/2010 200 
alex 05/01/2010 200 
dave 09/09/2010 300 
dave 01/09/2010 300 

      or 
andy 01/01/2010 900 
andy 05/01/2010 100 
alex 02/.... 

내가 이것으로 모든 '독특한 일을 선택할 수 있습니다 어떻게 든이 조인이 일치하는 모든 단일 행을 유지하면서 원래 테이블에 다시 결합합니다. 그리고 이것에 대한 조인이 올바른 방법인지는 모르겠습니다. 감사합니다

+0

예상되는 결과는 무엇입니까? – jarlh

+0

노력을 보여줄 수 있습니까? 시도한 코드를 표시 하시겠습니까? 무엇이 효과가 없었습니까? – mnwsmit

답변

0

[Name][Date]으로 그룹화 된 쿼리를 실행하기 만하면됩니다. 다른 모든 열의 경우 numeric 및 string 값에서 작동해야하는 MAX() 또는 MIN()과 같은 집계를 실행하십시오.

+0

spec의 "select ... all columns, 즉'*'...를 사용하여 사용자가 SQL을 편집 할 필요가없는 새 열을 추가 할 경우"부분은 어떻게됩니까? – onedaywhen

+0

이상적이지만 어쩌면 비현실적일까요? – user3484792

+0

아쉽게도 집계 쿼리의 경우 GROUP BY 열이나 집계 된 열을 명시 적으로 지정해야하므로 별표가 작동하지 않습니다. 다른 열은 Min(), Max() 등으로 언급 한대로 집계해야합니다. – Parfait

관련 문제