关于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>
发布了12 篇原创文章 · 获赞 0 · 访问量 1480

猜你喜欢

转载自blog.csdn.net/weixin_43142925/article/details/89857602