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 >= 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 >= 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>