你的结果集是b$common_n表中的内容怎么能按照trac.g3e_traceorder 排序呢 你的想法就有错误 再则exists为子查询他指返回true or false给where条件
请叫各位那如何把这SQL改正过来??
把 order by trac.g3e_traceorder desc 去掉
exists子句里面order by 根本就没什么意义 把 order by trac.g3e_traceorder desc 去掉
select * from b$common_n t where exists (select trac.g3e_fid from traceresult trac,b$common_n comm where comm.g3e_fid=trac.g3e_fid and t.g3e_id=comm.owner1_id and comm.owner1_id is not null and trac.g3e_tno=4664 ) order by trac.g3e_traceorder desc
这么样做是不对得,根本就不认识 trac.g3e_traceorder
select t.* from b$common_n t,traceresult trac,b$common_n comm where comm.g3e_fid=trac.g3e_fid and t.g3e_id=comm.owner1_id and comm.owner1_id is not null and trac.g3e_tno=4664 order by trac.g3e_traceorder desc
你的想法就有错误
再则exists为子查询他指返回true or false给where条件
把 order by trac.g3e_traceorder desc 去掉
(select trac.g3e_fid from traceresult trac,b$common_n comm
where comm.g3e_fid=trac.g3e_fid
and t.g3e_id=comm.owner1_id
and comm.owner1_id is not null
and trac.g3e_tno=4664
)
order by trac.g3e_traceorder desc
from b$common_n t,traceresult trac,b$common_n comm
where comm.g3e_fid=trac.g3e_fid
and t.g3e_id=comm.owner1_id
and comm.owner1_id is not null
and trac.g3e_tno=4664
order by trac.g3e_traceorder desc