適切な構文を生成するクエリ文字列を作成したいと思います!
私が達成したいのはそのようなものです:
select szallito_nev,
sum(case extract(month from Beerkezes_datuma) when '1' then merlegelt_suly else 0 end) as 'Januar_szall_szly',
sum(case extract(month from Beerkezes_datuma) when '2' then merlegelt_suly else 0 end) as 'Február_szall_szly',
sum(case extract(month from Beerkezes_datuma) when '3' then merlegelt_suly else 0 end) as 'Március_szall_szly',
sum(case extract(month from Beerkezes_datuma) when '4' then merlegelt_suly else 0 end) as 'Április_szall_szly',
sum(case extract(month from Beerkezes_datuma) when '5' then merlegelt_suly else 0 end) as 'Május_szall_szly',
sum(case extract(month from Beerkezes_datuma) when '6' then merlegelt_suly else 0 end) as 'Június_szall_szly',
sum(case extract(month from Beerkezes_datuma) when '7' then merlegelt_suly else 0 end) as 'Július_szall_szly',
sum(case extract(month from Beerkezes_datuma) when '8' then merlegelt_suly else 0 end) as 'Agusztus_szall_szly',
sum(case extract(month from Beerkezes_datuma) when '9' then merlegelt_suly else 0 end) as 'Szeptember_szall_szly',
sum(case extract(month from Beerkezes_datuma) when '10' then merlegelt_suly else 0 end) as 'Október_szall_szly',
sum(case extract(month from Beerkezes_datuma) when '11' then merlegelt_suly else 0 end) as 'November_szall_szly',
sum(case extract(month from Beerkezes_datuma) when '12' then merlegelt_suly else 0 end) as 'December_szall_szly',
sum(merlegelt_suly) as 'Év',
そして、現在のマウントから行を生成したいと思います。たとえば、その行進で、ループがコードを 1-3 などに生成することを獲得したい場合..
から現在のマウント番号を取得します
string sMonth = DateTime.Now.ToString("MM");
ループの整数に変換した後
int month = Convert.ToInt32(sMonth);
そして最後にループを作成します
for (int i = 0; i <= month; i++)
{
query1 = String.Format(@"select szallito_nev,
sum(case extract(month from Beerkezes_datuma) when '{0}' then merlegelt_suly else 0 end)
as '{1}_szall_szly',",i,i);
}
私はそれが機能していないことを知っていますが、これを行う方法はありますか?