请各位大神看看这个问题哪里出错了?

时间:2022-09-05 21:44:07
select u.id,
       u.username,
       u.password,
       u.work_mode,
       u.ip_address,
       u.stop_date,
       u.calling_station_id,
       u.is_binding,
       u.is_enable,
       u.account,
       u.company,
       u.department,
       u.orderno,
       u.accountnonexpired,
       u.accountnonlocked,
       u.credentialsnonexpired,
       u.enabled,
       u.name,
       u.gender,
       u.birthday,
       u.cardid,
       u.mobile,
       u.tel,
       u.email,
       u.description,
       u.NOT_FIRST_FLAG,
       o.name as org_name,
       o.id as org_id,
       ur.role_names
  from sys_psn_user u,
       sys_psn_user_org uo,
       sys_psn_org o,
       (select u.id, listagg(r.name, ',') within group(order by r.name) as role_names
          from sys_psn_user u, sys_psn_user_role ur, sys_psn_role r
         where u.id = ur.user_id
           and ur.role_id = r.id
         group by u.id) ur
 where u.id = uo.user_id(+)
   and uo.org_id = o.id(+)
   and u.id = ur.id(+)
and u.username=#{username}
最后执行结果是;[Err] ORA-00923: 未找到要求的 FROM 关键字;
哪里出问题了?

6 个解决方案

#1


SqlSession operation; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00923: 未找到要求的 FROM 关键字 

#2


没有发现哪儿掉标点符号了,也可能是你的标点,比如逗号是中文状态下输入的,全角

#3


order by r.name后面,要写两个))

一个是select的,一个是 within的!

#4


引用 3 楼 wmxcn2000 的回复:
order by r.name后面,要写两个))

一个是select的,一个是 within的!

select 在 group by 后面呀

#5


引用 2 楼 js14982 的回复:
没有发现哪儿掉标点符号了,也可能是你的标点,比如逗号是中文状态下输入的,全角

 = = 烦死了。。

#6


引用 4 楼 ghx287524027 的回复:
Quote: 引用 3 楼 wmxcn2000 的回复:

order by r.name后面,要写两个))

一个是select的,一个是 within的!

select 在 group by 后面呀


就是就是;算了不折腾了;主要是这个项目已经完成了,后来说要改需求,我拿来想跑一跑,结果登陆不进去;一直报这个错误

#1


SqlSession operation; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00923: 未找到要求的 FROM 关键字 

#2


没有发现哪儿掉标点符号了,也可能是你的标点,比如逗号是中文状态下输入的,全角

#3


order by r.name后面,要写两个))

一个是select的,一个是 within的!

#4


引用 3 楼 wmxcn2000 的回复:
order by r.name后面,要写两个))

一个是select的,一个是 within的!

select 在 group by 后面呀

#5


引用 2 楼 js14982 的回复:
没有发现哪儿掉标点符号了,也可能是你的标点,比如逗号是中文状态下输入的,全角

 = = 烦死了。。

#6


引用 4 楼 ghx287524027 的回复:
Quote: 引用 3 楼 wmxcn2000 的回复:

order by r.name后面,要写两个))

一个是select的,一个是 within的!

select 在 group by 后面呀


就是就是;算了不折腾了;主要是这个项目已经完成了,后来说要改需求,我拿来想跑一跑,结果登陆不进去;一直报这个错误