ZHZHK001 2019-05-05 23:47 采纳率: 72.7%
浏览 287
已采纳

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条回答 默认 最新

  • Suoh 2019-05-06 09:38
    关注

    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条件就行了
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料