내가 SQL 서버 2014와 Nortwind 데이터베이스를 사용하고, 나는 내 쿼리에서 원하는 두 개의 서로 다른 년만에 주문의 결과를 나눌 수있는 쿼리 형식을 만들입력 값에 따라 결과를 두 개의 열로 나눕니까? SQL 서버
category |anio one | anio two
어디 시도 몇 년이 열에서이 다른 년간 나에게 각 카테고리의 합계를 제공합니다 내가 지금까지 시도하는
SELECT ca.CategoryName , YEAR(o.OrderDate), SUM(ot.UnitPrice*ot.Quantity) as total
FROM Orders o
INNER JOIN [Order Details] ot ON O.OrderID = ot.OrderID
INNER JOIN Products pro ON ot.ProductID = pro.ProductID
INNER JOIN Categories ca ON pro.CategoryID = ca.CategoryID
GROUP BY ca.CategoryName,YEAR(o.OrderDate)
ORDER BY ca.CategoryName;
입니다 1996-1997-1998
다를 수 있습니다 YEAR(o.OrderDate)
나는 예를
CategoryName | 1996 | 1997
Beverages |53879,20 | 110424,00
Condiments |19458,30 | 59679,00
....
원하는 출력을 얻을 수 있습니다. 더 많은 날짜를 매개 변수로 추가하려면 다른 케이스를 선택하고 어디에서 진실을 추가해야합니까? 그리고 연도를 사용하지 않는 이유는 무엇입니까? – DarkFenix
더 많은 열을 추가하려는 경우 추가 할 수 있습니다. 사례를 사용하거나 [동적 SQL] (https : //docs.mic rosoft.com/en-us/sql/odbc/reference/dynamic-sql). –
@DarkFenix 예 필요한 경우 새 집계 열을 계속 추가 할 수 있습니다. 잊지 마세요뿐만 아니라 일치하도록 절을 조정하는 것을 잊지 마십시오. –