StringBuilder sb = new StringBuilder(); sb.append(" select "); // 选择语句 sb.append(" x.*, "); // 选择所有列 sb.append(" sum(b.m9) as bm9, "); // 计算列bm9,求和m9 sb.append(" sum(b.m1) as bm1, "); // 计算列bm1,求和m1 sb.append(" sum(b.m2) as bm2, "); // 计算列bm2,求和m2 sb.append(" sum(b.m3) as bm3, "); // 计算列bm3,求和m3 sb.append(" sum(b.m4) as bm4, "); // 计算列bm4,求和m4 sb.append(" sum(b.m5) as bm5, "); // 计算列bm5,求和m5 sb.append(" sum(b.m6) as bm6, "); // 计算列bm6,求和m6 sb.append(" sum(b.m7) as bm7, "); // 计算列bm7,求和m7 sb.append(" sum(b.m8) as bm8 "); // 计算列bm8,求和m8 sb.append(" from ( "); // 子查询开始 sb.append(" select "); // 子查询选择语句 sb.append(" x.C_NAME, "); // 选择列C_NAME sb.append(" y.C_ID, "); // 选择列C_ID sb.append(" y.C_STATUS, "); // 选择列C_STATUS sb.append(" sum(z.m9) as m9, "); // 计算列m9,求和m9 sb.append(" sum(z.m1) as m1, "); // 计算列m1,求和m1 sb.append(" sum(z.m2) as m2, "); // 计算列m2,求和m2 sb.append(" sum(z.m3) as m3, "); // 计算列m3,求和m3 sb.append(" sum(z.m4) as m4, "); // 计算列m4,求和m4 sb.append(" sum(z.m5) as m5, "); // 计算列m5,求和m5 sb.append(" sum(z.m6) as m6, "); // 计算列m6,求和m6 sb.append(" sum(z.m7) as m7, "); // 计算列m7,求和m7 sb.append(" sum(z.m8) as m8, "); // 计算列m8,求和m8 sb.append(" x.C_ID as C_IDS "); // 选择列C_ID,并命名为C_IDS sb.append(" from db_twenty.t_place x "); // 从表t_place选择数据 sb.append(" LEFT JOIN db_twenty.t_projectreportbatch y on(x.C_ID = y.R_PLACE_ID and y.R_STATEMENT_ID = " + statement_id + ") "); // 左连接表t_projectreportbatch,并根据条件连接 sb.append(" LEFT JOIN db_twenty.t_projectreports z on(x.C_ID = z.C_TOWID and z.R_STATEMENT_ID = " + statement_id + " and z.C_DELETED = 0) "); // 左连接表t_projectreports,并根据条件连接 sb.append(" where "); // 查询条件开始 sb.append(" x.R_PARENT_ID = " + place_id + " "); // 查询条件R_PARENT_ID等于place_id sb.append(" and x.C_DELETED = 0 GROUP BY x.C_ID "); // 查询条件C_DELETED等于0,按照列C_ID进行分组 sb.append(" ) x "); // 子查询结束 int rows = 0; // 定义变量rows,并初始化为0 rows = all.getAnnual() * 100 + all.getPeriod(); // 计算rows的值 sb.append(" LEFT JOIN db_twenty.t_projectreports b ON ( x.C_IDS = b.C_TOWID AND b.C_ANNUAL * 100+ b.C_PERIOD <= " + rows + " AND b.C_DELETED = 0 ) GROUP BY x.C_IDS "); // 左连接表t_projectreports,并根据条件连接,按照列C_IDS进行分

StringBuilder sb = new StringBuilder; sbappend select ; sbappend x ; sbappend sumbm9 as bm9 ; sbappend sumbm1 as bm1 ; sbappend sumbm2 as bm2 ; sbappend sumbm

原文地址: http://www.cveoy.top/t/topic/imtk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录