MS Access CrossTab 쿼리를 T-SQL로 변환하여 SQL2000이나 Linq-to-SQL로 변환하는 방법을 알아 내려고 정말 고심하고 있습니다.SQL 2000 TSQL - 피벗 테이블 만들기
그리고이 생산 : 항목 ID 및을 StoreID에 의해
쿼리는 기본적으로 그룹과 수량이 판매 금액,하지만 Access에서 크로스 탭 쿼리와 내가해야하는 것은 Access에서 다음과 같습니다 쿼리입니다 , 각 행에 대해 고유 한 ItemID, 각 StoreID에 대한 열 및 값으로 각 StoreID/ItemID 조합에 대한 Qty를 가질 수 있습니다.
T-SQL 2000에서 어떻게 구성합니까? 그룹화를 사용하여 간단한 select 쿼리를 작성할 수 있지만 StoreID, ItemID 및 Qty의 세 열로 나에게 데이터를 제공합니다. 이 데이터를 변환
는하지만 정말해야 할 것은:하지만 제가 필요한 것은 생산
SELECT Trans.TranSID as StoreID, TransDetail.TranItemID as ItemID, SUM(TransDetail.Qty) AS TotalQtyForStore
FROM Trans INNER JOIN
TransDetail ON Trans.TranID = TransDetail.TranID INNER JOIN
Item ON TransDetail.TranItemID = Item.ItemID
WHERE (Trans.TranDate > CONVERT(DATETIME, '2005-01-01 00:00:00', 102)) AND (Trans.TranTypeID = 'so' OR
Trans.TranTypeID = 'ca') AND (Trans.TranStatus <> 'v') AND (Item.ItemClassID = 'RHM')
GROUP BY Trans.TranSID, TransDetail.TranItemID
설정 항목 ID에 대한 열 및 결과의 모든을 StoreID에 대한 열이 있습니다 StoreID 값은 위의 Access CrossTab 쿼리와 마찬가지로 열이됩니다.
일반적으로 SQL에서는이 작업을 수행하지 않을 것이므로 사용중인 모든보고 도구에서 크로스 탭을 수행 할 것입니다. 예를 들어보고 서비스를 사용하면 상대적으로 간단합니다. – Bert
동의합니다. 그것은 단지 이런 식으로 접근하는 데 2 초가 걸리지 만 나는 T-SQL이나 Linq-to-SQL로는 이해할 수 없다는 말을 듣는다. –