关于sql数据查询的语句

1、基础不够扎实,使用的句子是下面的结果

  <select id="relieveTotal" resultType="java.lang.Float">	  	
	SELECT SUM(SALES_AMOUNT) FROM TB_ORDER TR
	    WHERE TR.USER_ID = #{userId}
	    AND TR.SALES_TIME &gt;= TO_DATE(TO_CHAR(  
		    (SELECT  MAX(W.WKH_MTIME) 
		    	FROM TB_WKH W 
		    	WHERE W.USER_ID = #{userId} 
		    	AND W.WKH_DIR = 0 
		    	GROUP BY W.USER_ID ) ,  
		    	'YYYY-MM-DD' ) , 'YYYY-MM-DD' ) 
  </select>

查询结果
如何可以加一列的数据(只有一个时间值,就是上面的部分代码)

 SELECT MAX(W.WKH_MTIME) 
        FROM TB_WKH W 
        WHERE W.USER_ID = 2
        AND W.WKH_DIR = 0 
        GROUP BY W.USER_ID

问题一、
以上2端代码都可以得到结果,怎么把他们的结果合并起来,输出-----变成一个一行两列(小数和时间个一列)的结果出来,
哪个知道的帮帮忙

问题二、
前面的那一段代码,报错:Cause: java.sql.SQLDataException: ORA-01861: 文字与格式字符串不匹配
什么原因,知道的帮帮忙,我现在不知道怎么更改:
目前我只能采取变通的方法------变成resultMap的方法试一试

 <select id="relieveTotal" resultMap="total_result">	  	<!-- 更改返回的数据类型  -->
	SELECT SUM(SALES_AMOUNT)    SALES_AMOUNT   <!-- 用一个同类型的字段暂存 -->
	FROM TB_ORDER TR
	    WHERE TR.USER_ID = #{userId}
	    AND TR.SALES_TIME &gt;= TO_DATE(TO_CHAR(  
		    (SELECT  MAX(W.WKH_MTIME) 
		    	FROM TB_WKH W 
		    	WHERE W.USER_ID = #{userId} 
		    	AND W.WKH_DIR = 0 
		    	GROUP BY W.USER_ID ) ,  
		    	'YYYY-MM-DD' ) , 'YYYY-MM-DD' ) 
  </select>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值