SELECT aa.*,
      (
       SELECT rownum , NVL(b.b010, 0)
       FROM b
       WHERE rownum=1 
       and (aa.d007 = B001) 
       AND (aa.b003 = B003) 
       AND (aa.D006 = b006)
       AND (aa.B008C = (b008 * b007))
       ORDER BY LBB002 DESC
       ) AS LBB010
FROM .........你的语法有问题 你应该把子查询放在FROM后面才能的到你的要求 不然你上述的SQL语句会认为LBB010是一个列 但是却有2个值(rownum 和NVL(b.b010, 0))