zoukankan      html  css  js  c++  java
  • 7个表的复杂查询

     public List findDetailSumById(Long id) throws Exception {
            List sumList=new ArrayList();
            StringBuffer sb = new StringBuffer(" ");
            sb.append("select sup.materialcode as materialcode,sup.materialname as materialname,sup.is_auto_send_erp,");
            sb.append("sup.providerproductname  as providerproductname , sup.measurename as measurename,");
            sb.append("sum(sup.amount) as amount,sum(sup.money) as money,");
            sb.append("sup.providername as providername, sup.locationname as locationname,");
            sb.append("sup.projectcode as  projectcode,sup.materialproperty as materialproperty,");
            sb.append("sup.providerproductcode as providerproductcode, sup.submeasurename as submeasurename,");
            sb.append("sup.providershortname as providershortname ,");
            sb.append("sup.ismainproduct as ismainproduct,sup.inlocationname as inlocationname");
            sb.append(" from");
            sb.append("(");
            sb.append("select spm.entity_code as  materialcode,spm.entity_name as  materialname,sibd.is_auto_send_erp ,");
            sb.append("sibd.provider_product_name as providerproductname,sibd.is_main_product as ismainproduct,");
            sb.append(" nvl( sibd.measure_name,' ')  as  measurename,nvl( sibd.sub_measure_name,' ') as submeasurename,");
            sb.append("nvl(sibd.amount,0) as amount,nvl(sibd.money,0) as money,");
            sb.append(" spr.entity_name as providername,spr.short_name as providershortname ,nvl(swl.entity_name,' ') as locationname ,");
            sb.append(" nvl( sibd.entity_desc,' ') as entitydesc,nvl( sp.entity_code,' ') as projectcode,");
            sb.append(" nvl( sibd.provider_product_code,' ') as providerproductcode,nvl( smp.entity_name,' ') as materialproperty,");
            sb.append(" sibd.output_bill_id as outputbillid,nvl(swlin.entity_name,' ') as inlocationname");
            sb.append(" from scm_output_bill_detail sibd");
            sb.append(" left outer join scm_product_material spm on spm.id =sibd.product_material_id");
            sb.append(" left outer join scm_provider spr on spr.id = sibd.provider_id");
            sb.append(" left outer join scm_warehouse_location swl on swl.id =sibd.warehouse_location_id");
            sb.append(" left outer join scm_warehouse_location swlin on swlin.id =sibd.in_warehouse_location_id");
            sb.append(" left outer join scm_project sp on sp.id = sibd.project_id");
            sb.append(" left outer join scm_material_property smp on smp.id=sibd.material_property_id");
            sb.append(") sup"); 
            sb.append(" where sup.outputbillid=?");
            sb.append(" group by");
            sb.append(" sup.materialcode,sup.materialname,sup.materialproperty, sup.measurename,sup.projectcode,");
            sb.append("sup.providername,sup.providerproductname,sup.providerproductcode,sup.locationname,sup.is_auto_send_erp ,");
            sb.append("sup.providershortname,sup.submeasurename,sup.ismainproduct,sup.inlocationname");
            sb.append(" order by");
            sb.append(" sup.materialcode,sup.materialname,sup.materialproperty,sup.measurename,sup.projectcode,");
            sb.append("sup.providername,sup.providerproductname,sup.providerproductcode,sup.locationname,");
            sb.append("sup.submeasurename,sup.providershortname");
            
            sumList = getJdbcTemplate().query(sb.toString(), new Object[]{id}, new RowMapper(){
                public Object mapRow(ResultSet rt, int arg1) throws SQLException {
                    OutputDetailSumBean outDetailSumBean=new OutputDetailSumBean();
                    outDetailSumBean.setMaterialCode(rt.getString("materialcode"));
                    outDetailSumBean.setMaterialName(rt.getString("materialname"));
                    outDetailSumBean.setProjectCode(rt.getString("projectcode")); 
                    outDetailSumBean.setProviderProductName(rt.getString("providerproductname"));
                    outDetailSumBean.setMaterialProperty(rt.getString("materialproperty"));
                    outDetailSumBean.setSubmeasureName(rt.getString("submeasurename"));
                    outDetailSumBean.setProviderProductCode(rt.getString("providerproductcode"));
                    outDetailSumBean.setProviderShortName(rt.getString("providershortname"));
                    outDetailSumBean.setProviderName(rt.getString("providername"));
                    outDetailSumBean.setLocationName(rt.getString("locationname"));
                    outDetailSumBean.setInlocationName(rt.getString("inlocationname"));
                    outDetailSumBean.setMeasureName(rt.getString("measurename"));
                    outDetailSumBean.setIsmainProduct(rt.getLong("ismainproduct"));
                    outDetailSumBean.setAmount(rt.getDouble("amount"));
                  //  outDetailSumBean.setPrice(rt.getDouble("price"));
                    outDetailSumBean.setMoney(rt.getDouble("money")); 
                    outDetailSumBean.setIsAutoSendERP(rt.getLong("is_auto_send_erp"));
                    
                    return outDetailSumBean;
                }
            });
             return sumList;
        }


  • 相关阅读:
    BZOJ 1951: [Sdoi2010]古代猪文( 数论 )
    BZOJ 1176: [Balkan2007]Mokia( CDQ分治 + 树状数组 )
    BZOJ 1066: [SCOI2007]蜥蜴( 最大流 )
    BZOJ 1935: [Shoi2007]Tree 园丁的烦恼( 差分 + 离散化 + 树状数组 )
    BZOJ 1297: [SCOI2009]迷路( dp + 矩阵快速幂 )
    BZOJ 1406: [AHOI2007]密码箱( 数论 )
    BZOJ 1876: [SDOI2009]SuperGCD( 更相减损 + 高精度 )
    spfa2
    spfa
    bellmanford队列优化
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3310466.html
Copyright © 2011-2022 走看看