select S.company_name
from company S
where not exists ((select city
                   from company
                   where company_name = 'soft2')
                  except
                  (select city
                   from company T
                   where S.company_name = T.company_name));会什么会提示第六行缺少右括号?我用oracle9i

解决方案 »

  1.   

    except最后出来的是一个结果集,我认为它这个时候可能不包括与父表的条件了,所以Oracle不认识这样的连接条件,我觉得你的逻辑写的有问题
      

  2.   

    从来没见过 except这种语法,是你自己发明的吗
      

  3.   

    我猜你是要这样吧SELECT s.company_name
      FROM company s
     WHERE NOT EXISTS (
               SELECT city
                 FROM company
                WHERE company_name = 'soft2 '
               MINUS
               SELECT city
                 FROM company t
                WHERE s.company_name = t.company_name);