楼主第一种如果有问题你把pj_baseinfo pb再放一个到最里面的子查询里就没问题了啊如 select pb.projectid, pb.projectname, (select ps.listvalue from (select ps.projectid, psl.listvalue from pj_scorecard ps, pj_scoreitemlist psl, pj_baseinfo pb where 1 = 1 and ps.scoreitemid = psl.scoreitemid and ps.scorenumber = psl.scorenumber and ps.score = psl.listscore and ps.projectid = pb.projectid and ps.delflag = 0 order by ps.scorenumber) ps where rownum = 1 ) as xmjd from pj_baseinfo pb where pb.isopitem = 0 and pb.delflag = 0 and pb.isopitem = 0
select pb.projectid,
pb.projectname,
(select ps.listvalue
from (select ps.projectid, psl.listvalue
from pj_scorecard ps, pj_scoreitemlist psl, pj_baseinfo pb
where 1 = 1
and ps.scoreitemid = psl.scoreitemid
and ps.scorenumber = psl.scorenumber
and ps.score = psl.listscore
and ps.projectid = pb.projectid
and ps.delflag = 0
order by ps.scorenumber) ps
where rownum = 1 ) as xmjd
from pj_baseinfo pb
where pb.isopitem = 0
and pb.delflag = 0
and pb.isopitem = 0