私はこれをちょっと怪しいです。 Stackoverflowにも同様のスレッドがありますが、私は答えを見つけられませんでした。実際に検索ボックスに入れるために探しているものを記述する方法を知ることは実際には難しいです。MS Access 2007のクエリとExcelからの呼び出しのデータのピボット
私はMS Accessデータベースでこのクエリを使用しています。このクエリは、製品と総量によってグループ化されたアイテムを返します。データが格納される方法は、年ごとに分解され、年には月ごとに分解されます(FiscalPeriod 01-12(Jan-Dec))。私はこのような何かを達成することができますので、自分の列にヶ月で引っ張る方法を把握しようとしている
SELECT CI_item.ItemCode, CI_item.ItemCodeDesc, Im_ItemWhseHistoryByPeriod.FiscalCalYear, Im_ItemWhseHistoryByPeriod.FiscalCalPeriod, ([QuantitySold]+[QuantityIssued]-[QuantityReturnedCustomer]) AS Quantity FROM CI_item INNER JOIN Im_ItemWhseHistoryByPeriod ON CI_item.ItemCode = Im_ItemWhseHistoryByPeriod.ItemCode;
:
現時点では、私のクエリは次のようになりますは、私はいくつかのAccessクエリで「ピボットビュー」を試してみましたが、これは私が欲しいものを私に与えていない、と私は、SQL文を使用してExcelからそれを照会することができません。私は一緒に引っ張られたたくさんの異なる質問にこれを分解することを考えましたが、誰かがより良い方法を知っているかどうかは不思議でした。私はSQLクエリ、特に厄介なAccessエディタでは専門家ではありません。
事前に感謝します。私はこの
DECLARE @cols AS NVARCHAR(MAX),
@query AS NVARCHAR(MAX)
select @cols = STUFF((SELECT ',' + QUOTENAME(fiscal_per_month)
from table
group by fiscal_per_month
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
set @query = 'SELECT item_code,item_code_desc,' + @cols + ',total from
(
select *,sum(quantity)over(partition by year) as total
from table
) x
pivot
(
sum(quantity)
for months in (' + @cols + ')
) p '
exec(@query);
入力いただきありがとうございます。それはSQL Serverにとって素晴らしいようですが、これは残念なことにAccess 2007です。 –