2013-10-07 5 views
1

Access에서이 작업을 수행하려고합니다.쿼리와 2 테이블의 데이터를 결합하십시오.

나는 2 개 테이블을 가지고라는 이름의 2012 두 테이블이 같은 필드가 있습니다 : 년도, 영업, 청구서, 부품 번호, 설명

내가 모든 판매 및 송장을 추가하는 최종 보고서 (쿼리)가 필요합니다 부품 번호. 예를 들어; 부품 번호 123은 2012 년에 1 건의 판매가 있고 2013 년에는 3 건이 판매되며 결과는 4 건입니다. 판매 및 송장 필드의 합계가 필요합니다.

테이블의 레코드 수가 다릅니다. 모든 기록을 표시해야합니다.

표 1 예

Year Sales Invoices Part Number Description 
2012  0  0  1234 HAT 
2012  3  3  5678 JACKET 

표 2 예

Year Sales Invoices Part Number Description 
2013  17  17  1234 HAT 
2013  1  1  5678 JACKET 

쿼리 예

당신은이 일 할 필요가
Sales Invoices Part Number Description 
17   17  1234 HAT 
4   4  5678 JACKET 

답변

2

:

  1. UNION 쿼리를 사용하여 2 개의 테이블에서 데이터를 통합하십시오.
  2. 집계 (GROUP BY) 쿼리를 생성하여 UNION 쿼리에서 반환 된 결과의 합계를 계산합니다.

첫 번째 태 그를 UNION 쿼리. 필요에 따라

SELECT 
    t1.Sales, 
    t1.Invoices, 
    t1.[Part Number], 
    t1.Description 
FROM [TABLE 1] AS t1 
UNION ALL 
SELECT 
    t2.Sales, 
    t2.Invoices, 
    t2.[Part Number], 
    t2.Description 
FROM [TABLE 2] AS t2 

는 (검증되지 않은 SQL)를 조정할. 그런 다음 GROUP BY 쿼리의 하위 쿼리 데이터 소스로 사용합니다.

SELECT 
    sub.[Part Number], 
    sub.Description, 
    Sum(sub.Sales) AS SumOfSales, 
    Sum(sub.Invoices) AS SumOfInvoices 
FROM 
    (
     SELECT 
      t1.Sales, 
      t1.Invoices, 
      t1.[Part Number], 
      t1.Description 
     FROM [TABLE 1] AS t1 
     UNION ALL 
     SELECT 
      t2.Sales, 
      t2.Invoices, 
      t2.[Part Number], 
      t2.Description 
     FROM [TABLE 2] AS t2 
    ) AS sub 
GROUP BY 
    sub.[Part Number], 
    sub.Description 
관련 문제