SELECT *
FROM (SELECT id,
code,
name,
deptcode,
(SELECT COUNT (user_code)
FROM pars_cancompreson
WHERE user_code = code)
complain,
content,
createman,
createtime,
updateman,
updatetime,
delflag
FROM usermiddel)
WHERE complain = 1;
写成以上就可以,你如果不把里面括起来,oracle识别不到你的别名;这个语法还是很奇怪的,曾经我也被这个问题困扰过,估计要看oracle的处理步骤,当你使用
SELECT id,
code,
name,
deptcode,
(SELECT COUNT (user_code)
FROM pars_cancompreson
WHERE user_code = code)
complain,
content,
createman,
createtime,
updateman,
updatetime,
delflag
FROM usermiddel
where complain = 1
时,可能oracle先根据条件筛选,然后选择列,所以识别不到你的别名;你可以试试这样,不写子查询它也可以识别你的别名哦
SELECT id,
code,
name,
deptcode,
(SELECT COUNT (user_code)
FROM pars_cancompreson
WHERE user_code = code)
complain,
content,
createman,
createtime,
updateman,
updatetime,
delflag
FROM usermiddel
order by complain
像这个肯定是oracle查出数据以后排序,这样的时候就能识别你的别名了
温馨提示:答案为网友推荐,仅供参考