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

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题