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>

第一个回答的 报错了
ORA-00937: 不是单组分组函数
00937. 00000 - "not a single-group group function"
*Cause:

*Action:

1个回答

SELECT
SUM( SALES_AMOUNT ),
w.maxTime
FROM
TB_ORDER TR
INNER JOIN (
SELECT
WKH.user_id,
MAX( WKH.WKH_MTIME ) maxTime
FROM
TB_WKH WKH
WHERE
WKH.USER_ID = 2
AND WKH.WKH_DIR = 0
) w ON TR.user_id = w.user_id
WHERE
tr.sales_time <= w.maxTime

 你两个表中的user_id应该是一个表中的,所以只传一次userId条件就行了
weixin_43142925
ZHZHK001 报错了ORA-00937: 不是单组分组函数 00937. 00000 - "not a single-group group function" *Cause: *Action:
9 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问