0

適切な構文を生成するクエリ文字列を作成したいと思います!

私が達成したいのはそのようなものです:

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);
        }

私はそれが機能していないことを知っていますが、これを行う方法はありますか?

4

2 に答える 2