首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >mybatis使用嵌套函数报错是什么原因?

mybatis使用嵌套函数报错是什么原因?

提问于 2019-11-01 23:44:07
回答 0关注 0查看 1.6K

需求链接连个两个字段 用逗号链接 字段值可能为null 在命令行可以正常运行 得到期望的结果 但是放进项目中就报错

在命令行可以正常运行 得到期望的结果 但是放进项目中就报错 报错如下

Error SQL: SELECT

m. NAME MaterialName,

m.Model MaterialModel,

mc.`Name` categoryName,

CONCAT(m.Standard,if(((m.Standard!=NULL ||m.Standard!='' ) and (m.Color!=NULL ||m.Color!='' ) ),',' ,''),m.Color)

AS MaterialOther,

m.unit MaterialUnit,

ifnull(m.safetystock,0) safetystock,

IFNULL(intype.BasicInNumber ,0) BasicInNumber,

IFNULL(outtype.BasicOutNumber ,0) BasicOutNumber,

(

IFNULL(intype.BasicInNumber ,0) - IFNULL(outtype.BasicOutNumber ,0)

) BasicNumber,

(IFNULL(intype.BasicInNumber ,0) - IFNULL(outtype.BasicOutNumber ,0) - ifnull(m.safetystock,0)) BasicLinjieNumbe

FROM

jsh_material m

LEFT JOIN jsh_materialcategory mc ON mc.Id = m.CategoryId

LEFT JOIN (

SELECT

di.MaterialId,

ifnull(sum(BasicNumber), 0) AS BasicInNumbe

FROM

jsh_depothead dh

INNER JOIN jsh_depotitem di ON dh.id = di.HeaderId

AND ifnull(di.delete_Flag, '0') != '1'

WHERE

dh.type = '入库'

and di.DepotId= 7

AND ifnull(dh.delete_Flag, '0') != '1' group by di.MaterialId

) intype ON intype.MaterialId = m.id

LEFT JOIN (

SELECT

di.MaterialId,

ifnull(sum(BasicNumber), 0) AS BasicOutNumbe

FROM

jsh_depothead dh

INNER JOIN jsh_depotitem di ON dh.id = di.HeaderId

AND ifnull(di.delete_Flag, '0') != '1'

WHERE

dh.type = '出库'

AND dh.SubType != '调拨'

and di.DepotId= 7

AND ifnull(dh.delete_Flag, '0') != '1' group by di.MaterialId

) outtype ON outtype.MaterialId = m.id

WHERE

1 = 1

AND ifnull(m.delete_Flag, '0') != '1'

AND intype.BasicInNumber > 0

ORDER BY

(IFNULL(intype.BasicInNumber ,0) - IFNULL(outtype.BasicOutNumber ,0) - ifnull(m.safetystock,0))

limit ?,?

at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)

at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150)

at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)

at sun.reflect.GeneratedMethodAccessor130.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433)

... 74 common frames omitted

Caused by: com.baomidou.mybatisplus.core.exceptions.MybatisPlusException: Failed to process, please exclude the tableName or statementId.

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档