私は、製品IDに基づいてのみ、1つのSQL文を実行するSQLサーバーで使用して:私は、このSQL文を実行したい製品ID = 0の場合他の場合(アンピボット)
を:
SELECT QuarterName as Quarters, QuarterValue
FROM
(
SELECT month_key,
sum(Q1)Q1, sum(Q2)Q2, sum(Q3)Q3, sum(Q4)Q4
FROM myTable
where line_item_id = '2548'
group by month_key
) stu
UNPIVOT
(QuarterValue FOR QuarterName IN (Q1, Q2, Q3, Q4)
) AS QTR
where month_key =2016
> 0プロダクトID <もし
はその後、私は、このSQL文を実行したい:
SELECT QuarterName as Quarters, QuarterValue
FROM
(
SELECT month_key,
sum(Q1)Q1, sum(Q2)Q2, sum(Q3)Q3, sum(Q4)Q4
FROM myTable
where line_item_id = '2548'
and product_id = 'wq2745'
group by month_key
) stu
UNPIVOT
(QuarterValue FOR QuarterName IN (Q1, Q2, Q3, Q4)
) AS QTR
where month_key =2016
差が第1のクエリは、WHERE句でプロダクトIDを使用していないが、第二1が行うです。私はC#アプリケーションでこれらのSQLクエリを実行しているので、プロダクトID値はいくつかのドロップダウンボックスに基づいたパラメータとして来ています。
ありがとう、私はこれを試してみるつもりですが、私はそれを行う前に、製品IDが常に固定ではないことを伝えたいと思います。ドロップダウンが変更されたときに変更されるので、製品IDの値を初期化する必要がありますあなたはここでやった? – moe
@moeそうではありませんが、パラメータとして渡す必要があります。 – SqlZim