在mybatis中mapper.xml中如何实现sql动态条件查询结果后求和

现在遇到个状况,如下代码
select
rela.member_paper_id,rela.member_id,paper_type,rela.paper_id,rela.create_time,rela.update_time,rela.start_time,rela.end_time,me.member_name,pa.paper_name,concat (rela.paper_score ,'分' ) as paper_score,concat (pa.total_score ,'分' ) as total_score,
cast((
select count(1) from
training_member_paper_question_relation qrela
left join training_member_paper_relation mpr on qrela.member_paper_id = mpr.member_paper_id
where
qrela.member_paper_id = rela.member_paper_id and is_correct = '0'
) as char(5))as error_number,
cast((
select
SUM(d.question_score)
from
(select qrela.question_score from training_member_paper_question_relation qrela
left join training_paper_question que on qrela.question_id = que.question_id
where qrela.member_paper_id = '2017110900011225' and (que.question_type = 'single' or que.question_type = 'order' or que.question_type = 'multiple')
)as d
) as char(5)) as subjective_score,
cast((
select
COUNT(1)
from training_member_paper_question_relation qrela
left join training_paper_question que on qrela.question_id = que.question_id
where qrela.member_paper_id = rela.member_paper_id and (que.question_type = 'single' or que.question_type = 'order' or que.question_type = 'multiple')
) as char(5))as subjective_item
from
training_member_paper_relation rela
left join training_member me on rela.member_id = me.member_id
left join training_paper pa on rela.paper_id = pa.paper_id
WHERE rela.member_paper_id = '2017110900011225'
在这种情况下是可以查出member_paper_id = '2017110900011225'的数据,这个没问题,但我的WHERE条件后的rela.member_paper_id 在mapper是动态的(= #{memberPaperId,jdbcType=CHAR}) ,那么在上面 qrela.member_paper_id 就不可能为= '2017110900011225'不变的,但是我把它改成像下面一个字段的方式: qrela.member_paper_id = rela.member_paper_id 直接报错[Err] 1054 - Unknown column 'rela.member_paper_id' in 'where clause',
subjective_score字段的查询是先查出条件下的结果,再把结果求和,再把这个作为一个字段去查询,下面一个 subjective_item字段查询是直接查出数量,再作为一个字段查询,这个是没有问题的,请问大神这个有没有什么办法啊
**__

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Mybatis的mapper.xml中$和#的区别?
#使用↓rnand t.`requestControllerMethod` likern CONCAT('%',#queryEntity,'%')rn$使用↓rnand t.`requestControllerMethod rn like '%$title%'rnrn还有'rnconcat不是多个字符串拼接吗? 这里的CONCAT('%',#queryEntity,'%') 为什么把'%'也分开了?rn还有rnconcat能配合$又该怎么使用的呢?rnrn[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/43.gif][/img]
【Mybatis】如何继承Mybatis中的Mapper.xml文件
最近在写一个 Mybatis 代码自动生成插件,用的是Mybatis来扩展,其中有一个需求就是 生成javaMapper文件和 xmlMapper文件的时候 希望另外生成一个扩展类和扩展xml文件。原文件不修改,只存放一些基本的信息,开发过程中只修改扩展的Ext文件 形式如下: SrcTestMapper.java package com.test.dao.mapper.srctest;...
Mybatis中mapper.xml中的模糊查询
1,mybatis中的mapper文件中是一些sql的逻辑化存储,所以他们还是要遵循基本的数据库的语法规范,所以关于模糊查询就还是用like关键字用%去匹配一个 或者多个字符,但是因为模糊查询的时候引入的相当于是一个字符串而不是直接进行传值操作(有拼接%的操作)所以不能直接使用#{},对于字符串的取值 可以使用${}但是这样取到字符串的同时带来了SQL注入的危险所以也不是最好的办法 2,关于
MyBatis 中的动态 sql
xxxMapper 中的 select 标签中的 if 和 where 标签<!-- 使用动态 sql 进行用户信息综合查询 --> <select id="getListByConditions" resultType="user" parameterType="user"> select * from user <!-- where 标签可以自动添加 where 和去除条件中的第
MyBatis mapper.xml中SQL处理小于号与大于号
作者:何超凤 本次任务完成时间:2018年11月16日~2018年1月16日 完成模块功能:后台管理:订单管理(订单充值、游戏支付订单、商品兑换订单)、产品管理(兑换产品列表、 游戏产品列表)、功能管理(收款信息管理、用户资产管理、资产管理)、系统管理(日志管理、员工管理、用户管理、消息推送) 前台管理:游戏界面(首页_动态轮播、首页_动态游戏类型、游戏排行榜、昨天游戏交易榜、昨天商品交易榜、领取...
mybatis mapper.xml映射不出结果
使用ResultType进行结果映射时,只有查询出来的列名和pojo中的属性名一致时,才能映射成功。如果列名和pojo的属性名不一致,则需要通过ResultMap对列名和属性名进行一个映射。 比如下图: 就必须在pojo有属性名对应 否则,只能查出结果 却无法获取结果
mybatis的动态条件查询
如何动态查询?当我没有接触到mybatis的时候一般的条件查询就是通过后台来判断参数分别执行不同的sql语句来得到我们想要的数据(反正我个人是这个样子的,不知道你们是不是这个样子啊),从刚开始对着mybatis的用户手册开始的时候到后来对动态条件查询的描述,个人感觉就是在配置文件中帮你进行动态的拼接sql语句,mybatis提供了很多有用的标签,比如<if>、<where>、<foreach>等等一
Mybatis Mapper.xml中sql特殊字符处理
1、在mybatis的Mapper.xml的sql语句中,不能直接用大于号、小于号要用转义字符 如果用小于号会报错误如下: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException: The content of eleme
Mybatis中的Criteria条件查询
Criterion Criterion是最基本,最底层的Where条件,用于字段级的筛选。 Criteria Criteria包含一个Cretiron的集合,每一个Criteria对象内包含的Cretiron之间是由AND连接的,是逻辑与的关系。 其它 Example类的distinct字段用于指定DISTINCT查询。 orderByClause字段用于指定ORDER BY条件,这个条件没有构造...
MyBatis中的条件查询(动态sql)
本文将介绍使用MyBatis框架,编写DAO层接口类和接口类对应的sql映射文件,使用动态sql查询满足条件的用户集合。 首先,需要创建一个实体类User,供封装数据使用; package com.xyfer.pojo; public class User{ private String name; private int age; private ...
sql条件查询求和求助
sql如何进行分条件查询: rn如表里面有:币种,金额 rn写select语句实现:如果币种是美元,则金额/6.8,如币种是人民币,则直接就为金额, rn[color=#FF0000]然后如何进金额进行sum求和[/color]请高手指点,谢谢
Mybatis中的mapper.xml使用注意事项
最近在做项目的过程中,使用mybatis的mapper.xml文件发现了一个很低级的错误,在此记录下来提醒自己。 一. 日期类型 数据库采用oracle,日期字段类型为Date。代码中对应实体类的类型为Date,这里注意Date要使用java.util.Date。在使用mybatis自动代码生成工具时,需要指定生成的mapper.xml文件中的字段的jdbcType为TIMESTAMP,因为默...
MyBatis的mapper.xml文件中$和#的区别
#将传入的值当做一个字符串,自动添加双引号例如: where id=#id# ,此时传递的值为10 的话会解析成 where id="10"$将传递的值原封不动的显示在SQL中,例如 order by $ode$ ,此时传递的值为 time 那么会解析成order by time#方式能够很大程度防止sql注入 $方式无法防止Sql注入 动态sql中使用排序的时候注意用$而不是#,这边还是会存
Mybatis mapper.xml中常用标签详解
一、SQL语句标签: xml version="1.0" encoding="UTF-8" ?>        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">mapper namespace="com.liuyanzhao.mybatis
Mybatis映射文件Mapper.xml中#和$的区别
关于Mapper.xml映射语句中什么时候用&quot;#&quot;什么时候用&quot;$&quot;,已经有很多人做过总结,我最近在写项目时仍然遇到了一点问题,所以在这里结合项目文档和案例,再做一下总结,也作为个人的笔记,在这里再总结下。 一、先看一下在mybatis api中关于&quot;#&quot;和&quot;$&quot;的描述 1、&quot;#&quot; 图 1来自于mybatis api “Mapper XML文件”章节,   简单来说&quot;#&quot;在编译时使用&
sql中如何求和?
我有如下一个表rnid 语文 数学 总分rn001 60  70 rn002 70  80rn003 80  66rn004 60  55rn对于这个表我如何对它进行求和即rnid 语文 数学 总分rn001 60  70  130rn002 70  80  150rn003 80  66  146rn004 60  55  115rnrn
MyBatis中mapper.xml配置文件中的各种判断
MyBatis中mapper.xml配置文件中的各种判断 1.判断String是否为空 2.判断Integer是否大于0 3.判断List是否不为空 4.判断String是否以某特定字符(比如此处的"user")开头 5.判断字符串是否等于特定字符(比如此处的user) 注意不能使用此写法 即最外边用双引号,里边用单引号,此写法会抱java.lang.NumberFormatExcep...
MyBatis中文条件查询没结果
今天学习MyBatis,在条件查询的时候出了点问题,输入英文作为条件来查询,有结果,输入中文作为条件来查询,发现没有结果,我就头大了,url我也设置编码了,连接的数据库的编码格式也能对上,表的编码格式也没问题,所以我在网上搜寻一番,发现了问题 查找数据库的一些编码格式 查询分析器中输入 show variables like ‘%char%’; 如果character_set_server=l...
mybatis 条件查询sql问题
&lt;select id="selectUserByUsernameAndSex" resultType="user" parameterType="com.ys.po.User"&gt; select * from user where &lt;if test="username != null"&gt; username=#{usernam...
MyBatis 中mapper.xml文件中<sql>标签,<include>标签的使用
&amp;lt;sql&amp;gt; 和 &amp;lt;include&amp;gt;&amp;lt;sql&amp;gt;用来封装SQL语句, &amp;lt;include&amp;gt;来调用代码片段:&amp;lt;sql id=&quot;select&quot;&amp;gt;SELECT * FROM `body_index`&amp;lt;/sql&amp;gt;&amp;lt;select id=&quot;find&quot; resultType=&quot;*&quot; res
C#winform中 SQl求和的结果 如何显示到listview1中
我的表里有两个字段:会员类型和会员积分; rn表的关系是这样的: rn会员类型 会员积分 rn金卡 500 rn金卡 200 rn银卡 100 rn金卡 200 rnVIP 600 rn我想对会员类型求和: rn就是建立一个统计显示各种会员类型的会员积分的统计并显示到listview中,望大哥、大姐解决下,谢谢了。
mybatis~中分页,带条件查询
&amp;lt;select id=&quot;selectAllAndByproduct_line&quot; parameterType=&quot;hashmap&quot; resultMap=&quot;ExtendResultMap&quot; &amp;gt; SELECT t.id tid,t.name tname,p.* FROM project_template t INNER JOIN project_project p ...
MyBatis中的in条件查询的用法代码示例
MyBatis中的in条件查询的用法代码示例
Mybatis实现条件查询
配置文件 &lt;select id="search" parameterType="per.czt.ssm.domain.User" resultMap="userMap"&gt; select id as uid,username,password from user where 1=1 &lt;if test="id!=null"&gt; and u.id=#{id} ...
mybatis实现分页查询+条件查询
1.service层 @Override public PageResult findPage(TbGoods goods, int pageNum, int pageSize) { PageHelper.startPage(pageNum, pageSize); TbGoodsExample example = new TbGoodsExample(); Criter...
前后端分离实现条件查询结果
【前言】 前后端分离,前端是用的angular框架,后端用的是SSM框架加上一些工具类。 【过程】 这次要做的功能是根据时间和学生姓名的条件来查询数据库中的信息。这篇文章只是介绍有条件的查询,无参的查询就默认做好了的。 第一步,画界面。两个时间控件,一个input框。在这里我用的是PrimeNG的样式结合angular的特点 &lt;div style="margin-left: 15...
mybatis中mapper.xml文件参数问题
mapper.xml中的参数date,integer,string等一个的参数,可都修改为_paramete,或者在mapper.java的接口文件中的参数上添加@Param(value=&quot;xxxx&quot;),xxxx为xml中对应的参数,不然会报错:There is no getter for property named 'xxxx' in 'class java.lang.String(参数str...
mybatis mapper.xml文件中$和#的使用区别
#{}表示一个占位符即?,可以有效防止sql注入。在使用时不需要关心参数值的类型,mybatis会自动进行java类型和jdbc类型的转换。 #{}可以接收简单类型值或pojo属性值,如果传入简单类型值,#{}括号中可以是任意名称。<!-- 根据名称模糊查询用户信息 --> <select id="findUserById" parameterType="String" resultTyp
sql中如何行求和
在网上看到都是列求和,请问如何行求和?如有一张“成绩单”表rnrn学号 姓名 语文 数学 英语 总分rn001 张三 87 89 78rn002 李四 91 82 80rnrn我想把语数外加起来放在总分里怎么写程序?
IDEA中mybatis映射mapper.xml文件找不到
maven项目在pom文件中加入如下配置即可解决 &amp;lt;build&amp;gt; &amp;lt;resources&amp;gt; &amp;lt;!--拷贝xml文件到classpath下--&amp;gt; &amp;lt;resource&amp;gt; &amp;lt;directory&amp;gt;src/main/java&amp;lt;/directory&amp;gt; ...
Mybatis、Mapper.xml中的#{}可以放什么
在mybatis中基于xml配置sql语句,总有疑惑,#{}是什么,条件查询的时候mapper接口传的参数该怎么放,自己总结了一下 我们在使用mapper代替dao开发的时候、可以不用自己实现接口了、由动态代理自动生成、但是要求对应的mapper.xml的 namespace 为mapper接口的限定名(完整包名加接口名) 接口的方法名对应到sql语句的标签的id上去,在这样在扫面mapper...
Mybatis映射文件mapper.xml中的注释问题
Mybatis映射文件mapper.xml中的注释问题前言:问题重现功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 前...
MyBatis 汉字作为查询条件查询不到 MySQL 中的结果
在使用mybitis 查询mysql数据库的时候 用到了汉字作为查询条件,sql语句在navcat里面可以查询的到但是在项目里确不行了 1. 以下是项目中的SQL 文件。 因为where条件中传输进来的参数是汉字,所以在查询的时候,加上 where 子句返回的结果就为空。 &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt; &amp;lt;!DOCTYPE ma...
mybatis mapper.xml中使用参数问题
先上mapper.xml中的代码rn[code=html]rnrn rn rn rn rn select top $everyNumber * from $tableName;rn rn rn rn rn rn select * from $tableName limit 0,$everyNumber;rn rn rn rn rn rn select * from $tableName where rownum < $everyNumber;rn rn rn rn rn rn select * from $tableName fetch first $everyNumber rows only;rn rn rn rnrn[/code]rnrn问题描述:rn无论dbType的值为多少,都只是执行sqlserver的语句rn小弟请教各位大神,在动态的sql语句中,变量应该如何使用,应该怎么解决这个问题
【Mybatis】--mapper.xml中常用的标签积累
一· 常用标签组示例: 二、部分标签总结 1.sql片段标签&lt;sql&gt;: 通过该标签可定义能复用的sql语句片段,在执行sql语句标签中直接引用即可。这样既可以提高编码效率,还能有效简化代码,提高可读性, 需要配置的属性:id="" &gt;&gt;&gt;表示需要改sql语句片段的唯一标识 引用:通过&lt;include refid="" /&gt;标签引用,ref...
关于Mybatis中mapper.xml的传入参数简单技巧
首先声明,常用的不管传入参数是什么,sqlStatement中的parameterType都可以不写,如下图:请关注6、1: 对于传入参数为对象类型的,直接使用属性.属性.属性获取值 , 如: #{xx.xx.xx}; 2:对于传入参数为map类型的,直接使用key获取值,如 : map = {&quot;name&quot;: &quot;张三''},使用#{name}获取“张三”;3: 对于传入参数为集合类型,一般都会使用...
mybatis中一对多映射mapper.xml文件
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"     "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 集合属性表示班级拥有的学生  一对多关系 --> select  * from  class c,te
mybatis中***Mapper.xml映射文件的配置细节
mapper映射文件9大元素 映射文件是以&amp;lt;mapper&amp;gt;作为根节点,在根节点中支持9个元素,分别为 insert、update、delete、select(增删改查); cache、cache-ref、resultMap、parameterMap、sql。 例子: &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt; &amp;lt;!DOCT...
如何实现动态datagrid求和
用C#在WEBFORM开发中,如何动态得到DATAGRID中一列数字类型的合计,不是打开页面合计出来不变,而是在DATAGRID中修改或增加一行,录入量时,合计都要进行动态改变.
如何在mybatis中定义mapper.xml文件?
1、首先定义执行的sql语句 2、再定义封装查询结果
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数