2012-11-18 1 views
1

POS 시스템 품목 판매 데이터에 관한 SQL 질문이 있습니다. 데이터베이스에는 "합계"테이블이 있습니다. 이 테이블에는 "TtlType"필드로 식별되는 다양한 레코드가 들어 있습니다. 저는 2 가지 유형으로 작업하고 있습니다. 값 11은 Item POS Sales이고, 12는 Item Cost Sales입니다. 내 SQL 쿼리를 수행 할 때ms sql POS 품목 판매에 대한 질문

, 내가

SELECT ItemNumber, 
     SUM(ItemCount), 
     SUM(ItemAmount) 
FROM Totals 
WHERE TtlType = 11 
     AND Date = 8/1/2012 

의 라인을 따라 뭔가를하고 있어요

나는 또한이 모든 병합 할 수 있습니다 방법이 ttlType (12)을 포함 할 것 등 한 행에 데이터?

내가 TTlType 11 & 12를 포함하도록 변경하면 각 메뉴 항목마다 2 개의 개별 행이 생깁니다. 첫 번째는 판매 가격 인 TtlType 11이고 다음은 비용 인 12입니다. 둘 다 TtlType 정보 (ItemCount, ItemAmount)를 기록하는 데 SAME 필드 이름 사용

나는 이것을 충분히 설명하기를 바랍니다. 내가 GROUP BY를 사용할 때, 나는 여전히 같은 결과를 얻는다.

답변

1

데이터 구조를 완전히 이해했는지 또는 ItemNumber의 중요성을 잘 모르겠습니다.

그러나 이미 알고있는 것처럼 SUM을 수행하는 데 GROUP BY가 필요하지는 않지만 SELECT & GROUP BY의 ItemNumber를 포함하면 해당 열에 그룹화 될 때 중복 행이 생길 것입니다.

당신은

SELECT SUM(ItemCount), SUM(ItemAmount) FROM Totals WHERE TtlType IN (11,12) 
AND Date = 8/1/2012 
와 두 SUM 기능에 문제가 없어야합니다