如下图,错误一大堆,一脸懵逼,找了半天
首先sql运行在SQLyog端查询没有任何问题,但在项目中mybatisPlus报错了。
主要还是mybatisPlus没有SQLyog那么智能,错误sql:
SELECT or.entity_id,or.orders_no,
u.realname apply_realname,
ord.total_count,
ord.receive_count,or.apply_time,or.notice_time,
or.finish_time,or.status,
s.name stockroomName,
(SELECT GROUP_CONCAT(depart_name) FROM sys_depart d, sys_user_depart ud
WHERE u.entity_id=ud.user_id
AND ud.dep_id=d.entity_id) depart_name,
(SELECT u.realname
FROM sys_depart sd,sys_user_depart sud
WHERE sud.user_id=u.entity_id
AND sd.entity_id=sud.dep_id
AND sd.valid_flag = '1' AND sud.valid_flag = '1'
AND u.depart_ids LIKE CONCAT('%',sd.entity_id,'%')) depart_admin_name
FROM tm_orders_receipt `or`, sys_user u,
tm_orders_receipt_detail ord, tm_stockroom s
WHERE or.receipt_uid=u.entity_id
AND ord.orders_id=or.entity_id
AND s.entity_id = or.stockroom_id
AND u.valid_flag='1'
我们在给表重命名上,我一般取首字母缩写,但如果缩写是关键字,如“or”,此时我们就需要加特殊符号处理`or`。
如果在SQLyog上面,查询此表字段,可以直接or.xxx,但是实际项目中需要加上特殊字符处理`or`.xxx。否则就会出现以上报错。