그것은 내 앞의 질문에 대한 후속 질문 : sql - min of 9 weeks max of 15 weeks average of 16 weeksSQL 크로스 탭에 필요 해명 "q.type은"/// 분 평균 최대에 대한 집계는
나는 때 "q.Type
의 매개 변수 값 입력"을 받고 있어요 나는 파르페의 굉장한 대답을 실행한다.
이유와 방법을 설명하고 대체 할 수 있습니까?
Crosstab2 쿼리
TRANSFORM SUM(q.AggDetailQty)
SELECT q.ItemCode
FROM UnionAggQuery q
GROUP BY q.ItemCode
PIVOT **q.Type** IN ('AVG 16 WEEKS', 'MIN 9 WEEKS', 'MAX 15 WEEKS');
UnionAggQ 쿼리 (가입 :
내가 수동으로 값을 모든 시간을 입력하지 않으..
아래는 자신의 코드 답변입니다 두 크로스 탭 모두)
다음 크로스 탭에는 다음과 같은 다른 쿼리가 필요합니다. 소스, 범주 미터 열이 ItemCode으로 집계 특히 통합 쿼리 :
SELECT Detail.ItemCode,
'AVG 16 WEEKS' AS Metric,
AVG(Detail.Quantity) AS AggDetailQty
FROM Detail INNER JOIN Header ON Detail.SalesOrderNo = Header.SalesOrderNo
WHERE Header.OrderDate >= DATEADD("ww",-16, Date())
GROUP BY Detail.ItemCode
UNION ALL
SELECT Detail.ItemCode,
'MIN 9 WEEKS' AS Metric,
MIN(Detail.Quantity) AS AggDetailQty
FROM Detail INNER JOIN Header ON Detail.SalesOrderNo = Header.SalesOrderNo
WHERE Header.OrderDate >= DATEADD("ww",-9, Date())
GROUP BY Detail.ItemCode
UNION ALL
SELECT Detail.ItemCode,
'MAX 15 WEEKS' AS Metric,
MAX(Detail.Quantity) AS AggDetailQty
FROM Detail INNER JOIN Header ON Detail.SalesOrderNo = Header.SalesOrderNo
WHERE Header.OrderDate >= DATEADD("ww",-15, Date())
GROUP BY Detail.ItemCode
최종 쿼리
SELECT t1.*, t2.*
FROM CrossTab1 t1
INNER JOIN CrossTab2 t2
ON t1.ItemCode = t2.ItemCode
당신은'Type' 열이 있어야합니다 UnionAggQ 쿼리에는이 태그가 없습니다. 또한 "유형"은 예약어이거나, 다른 이름을 사용하거나 대괄호로 묶습니다. –