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

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站