I
would like to set the properties of one result map from multiple
<select> statements. Is it possible to do as below? if we can
do I would like to know how to pass the parameters to the other select
statments? I would appreciate if some one can let me know.
 
<resultMap id="MainResult" class="Product">
 <result property="totalVal" column="TOTAL_VAL"/>
 <result property="totalAmt" column="TOTAL_AMT"/>
 <result property="totalProds" column="TOTAL_PRODS"/>
 <result property="maxVal" select="merchant.getMerchantMax"   />
 <result property="maxProds" select="merchant.getMerchantMaxInfo"  />
</resultMap>

<select id="getMerchantInfo" resultClass="string" parameterClass="map" 
resultMap="MerchantDistributionResult">
SELECT COUNT(*) as TOTAL_VAL
 , SUM(p.mathamount) as TOTAL_AMT
 , COUNT(distinct p.prods) AS TOTAL_PRODS
       FROM product p
       WHERE 
       AND p.proddate BETWEEN #startDate# AND #endDate# 
</select>
 
<select id="getMerchantMax" resultClass="string">
SELECT MAX(tbl.cnt1) as MAX_CNT
 from (
 SELECT COUNT(*) as cnt1
    FROM Merchant m
    where m.date BETWEEN to_date('12/25/2006','mm/dd/yyyy') AND 
to_date('12/30/2006','mm/dd/yyyy') 
    GROUP BY round(m.date,'DD')) tbl;
</select>
 
<select id="getMerchantMaxInfo" resultClass="string">
SELECT MAX(tbl.cnt2) as MAX_PRODS 
 from (
  COUNT (distinct m.prods) as cnt2
    FROM merchant m 
    WHERE m.proddate BETWEEN to_date('12/25/2006','mm/dd/yyyy') AND 
to_date('12/30/2006','mm/dd/yyyy') 
    GROUP BY round(m.date,'DD')) tbl;
</select>
 
Thanks,
KKV


      

Reply via email to