mybatis union查询 只能查出前一部分,后一部分查不出来 30

SELECTt_appad.pk_appad,t_appad.category,t_appad.price,t_appad.activeFROMt_appadINNERJ... SELECT
t_appad.pk_appad,
t_appad.category,
t_appad.price,
t_appad.active
FROM
t_appad
INNER JOIN t_scope ON t_appad.fk_scope = t_scope.pk_scope
where t_appad.pk_appad=1
)
UNION ALL
(
SELECT
t_appad.pk_appad,
t_appad.category,
t_appad.price,
t_appad.active
FROM
t_appad
INNER JOIN t_scope ON t_appad.fk_scope = t_scope.pk_scope
where t_appad.pk_appad=2
)

这个是个例子,取出pk_appad=1的和pk_appad=2的数据,实际的需求比较复杂,这个sql语句在mysql中执行没有问题,但是在mybatis里执行就只取出了pk_appad=1的数据,pk_appad=2的数据没有出来,求教是什么情况
展开
 我来答
放开那碗炒粉de
2018-05-15 · 知道合伙人养生行家
放开那碗炒粉de
知道合伙人养生行家
采纳数:236 获赞数:374
熟练健康知识并综合运用在临床实践中,多次在社区义务宣传并服务,每到一处,都受到热烈欢迎

向TA提问 私信TA
展开全部
如果你是一个专业的开发人员不该写出这种语句的,你使用一个简单的in就可以了;
再说mybatis中除了insert会写到union,其他情况下是不该用到的,效率太低。
还有,我想知道你用什么类型来接收mybatis返回的这些数据的,其实mybatis提供了封装,可以直接返回一个t_appad类型的,你根本无需在配置文件里写如此之复杂的SQL语句。

mybatis是通过配置文件中SQL语句的key去让数据库执行对应的SQL语句的,key是由官方定义的,尽量不要写这种深奥复杂的SQL,谁知道有没有这种key定义呢。
放弃这个方法,简化的SQL语句才是解决这个问题的最好方法。
追问
能不能认真点
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式