これは、Winforms/C#/MYSQL に関連しています。次の表があります。
正味金額 / DATE
50 /2013-3-15
40/ 2013-11-10
30 / 2013-3-25
このプログラムでは、ユーザーがデータを表示したい月を選択できます。理想的には、出力は、正味額と月の合計を示すグラフ (方法は知っています) である必要があります。出力は次のようになります。
正味額/月
80/3月
40/11月
誰かが私がこれを試すことを提案しました:
var selectdataforGraph = "SELECT SUM(AMOUNT_NET) AS Amount_Net, MONTH(date_Check) as Month FROM testingproject.incomeinformation WHERE";
var monthList = string.Join(",", selectedMonth);
selectdataforGraph += " YEAR(date_check) = " + selected_year;
selectdataforGraph += " AND MONTH(date_check) in (" + monthList + ")";
しかし、データベースでクエリを実行すると
SELECT SUM(Amount_Net) AS Amount_Net, Month(date_check) AS Selected_Month FROM testingproject.incomeinformation WHERE YEAR(date_check) AND MONTH(date_check) in (1,11);
結果は、次のような両方の月の合計 Amount_Net Sum です。
Amount_Net/Selected_Month
120/11
月ごとに既に計算された正味額を使用して別のテーブルを作成しようとしましたが、場合によっては複数の月を選択する必要があるため、月が含まれる列は上記のクエリの一部の月が varchar であり、機能しません. 日付列を使用して新しいテーブルを再設計することもできますが、最初の応答に非常に近いように感じます。また、SQL インジェクションを回避するためにパラメーターを使用する必要があることも知っていますが、これは問題を簡単に説明するためのものです。