-1

パラメータを使用して2つのクエリがあります。それらを個別にレポートすることはできますが、両方のテーブルを 1 つのレポートにまとめたいと思います。問題は、パラメーターを使用してサブレポートに問題があるように見えることです...私の2つのクエリは次のとおりです。

SELECT        A.Store_Number, A.GC_Sold, B.Total_Cars

FROM            (SELECT        Store_Number, COUNT_BIG(Quantity_Sold) AS GC_Sold

FROM            Invoice_Detail_Tb

WHERE        (Invoice_Date BETWEEN CONVERT(DATETIME, @startdate, 102) AND CONVERT(DATETIME, @enddate, 102)) AND (JLI_Category_Code = 'gc') AND (Invoice_Detail_Code LIKE 'jlgc%') AND (Invoice_Detail_Type = 'Item')

GROUP BY Store_Number) AS A INNER JOIN

(SELECT        Store_Number, SUM(Vehicle_Count) AS Total_Cars

FROM            Daily_Sales_Tb

WHERE        (Operations_Day BETWEEN CONVERT(DATETIME, @startdate, 102) AND CONVERT(DATETIME, @enddate, 102))

GROUP BY Store_Number) AS B ON A.Store_Number = B.Store_Number

この出力により、日付範囲のデータが得られ、次のようになります。

Store    gc sold      total cars
1        5             8
2        6             9
3        7             10

私の2番目のクエリは次のとおりです。

SELECT        A.Store_Number, A.GC_Sold, B.Total_Cars

FROM            (SELECT        Store_Number, COUNT_BIG(Quantity_Sold) AS GC_Sold

FROM            Invoice_Detail_Tb

WHERE        (Invoice_Date = CONVERT(DATETIME, @enddate, 102)) AND (JLI_Category_Code = 'gc') AND (Invoice_Detail_Code LIKE 'jlgc%') AND (Invoice_Detail_Type = 'Item')

GROUP BY Store_Number) AS A INNER JOIN

(SELECT        Store_Number, SUM(Vehicle_Count) AS Total_Cars

FROM            Daily_Sales_Tb

WHERE        (Operations_Day = CONVERT(DATETIME, @enddate, 102))

GROUP BY Store_Number) AS B ON A.Store_Number = B.Store_Number

この出力は、終了日のみのデータを返します。上の表と同じように見えます。

ユーザーは、Windows フォームで開始日と終了日を選択し、「実行」を押しています。次に、パラメーターがレポート ビューアーに渡されます...何かアイデアはありますか?

4

2 に答える 2

0

これが SQL Server Reporting Services レポートの場合、複数のデータ セットを追加できます。あなたの場合、最初のクエリは最初のクエリを使用し、2 番目のデータ セットは同じ共有データ ソース (=> データベース接続) を使用する両方のデータ セットで 2 番目のクエリを使用します。

次に、レポートに 2 つのテーブルを追加できます。1 つは最初のデータ セットをデータ ソースとして参照し、もう 1 つは 2 番目のデータ セットを参照します。

ローカル レポートでも同じことがモデル化できます。

于 2012-04-24T12:05:12.327 に答える
0

2 番目のクエリを使用して、別のテーブル アダプタを作成する必要があります。次のテーブル アダプターをセットアップしたら、レポート ビューアーにテーブルを追加する必要があります。テーブルが追加されたら、フィールドを新しいテーブルアダプターからテーブルにドラッグします。これが完了したら、reportviewer コントロールに移動し、新しいテーブルにデータセットのバインディング ソースを割り当てて、

于 2012-04-25T15:56:41.613 に答える