我想通过程序控制 String sql2=" select b.ped_mcname mc_name,b.ped_breedid mi_id,b.ped_breedname mi_name,"; if("1".equals(type.trim())||(endTime-startTime==3)){//同比 for(int i=startTime-1;i<endTime;i++){ sql2+="sum(case when month(b.ped_coltime) between "+((i*3)+1)+" and "+((i+1)*3)+" then b.ped_auditing_price else null end) prop,"; } sql2=sql2.substring(0,sql2.length()-1); sql2+=" from pc_priceexp_data b where convert(varchar(7),b.ped_coltime,20)>='"+(year-1)+"-"+(startTime<4?("0"+((startTime-1)*3+1)):(startTime-1)*3+1)+"'"; sql2+=" and convert(varchar(7),b.ped_coltime,20)<='"+(year-1)+"-"+(endTime<4?("0"+(endTime*3)):endTime*3)+"'"; }else{//环比
} sql2+=" group by b.ped_mcname,b.ped_breedid,b.ped_breedname";环比里面能用for循环控制吗?
String sql2=" select b.ped_mcname mc_name,b.ped_breedid mi_id,b.ped_breedname mi_name,";
if("1".equals(type.trim())||(endTime-startTime==3)){//同比
for(int i=startTime-1;i<endTime;i++){
sql2+="sum(case when month(b.ped_coltime) between "+((i*3)+1)+" and "+((i+1)*3)+" then b.ped_auditing_price else null end) prop,";
}
sql2=sql2.substring(0,sql2.length()-1);
sql2+=" from pc_priceexp_data b where convert(varchar(7),b.ped_coltime,20)>='"+(year-1)+"-"+(startTime<4?("0"+((startTime-1)*3+1)):(startTime-1)*3+1)+"'";
sql2+=" and convert(varchar(7),b.ped_coltime,20)<='"+(year-1)+"-"+(endTime<4?("0"+(endTime*3)):endTime*3)+"'";
}else{//环比
}
sql2+=" group by b.ped_mcname,b.ped_breedid,b.ped_breedname";环比里面能用for循环控制吗?
edit your code please!