2014-01-16 95 views
1

我沒有神經了。SQL右括號

下面是代碼:

select o.embg from objekti o 
    where o.embg not in (
     select s.embg, t.time 
     from objekti o, sopstvenici s, tipovi t 
     where o.embg = s.embg and o.tid = t.tid and t.time = 'Куќа' 
     order by o.embg 
    ) 

導致錯誤:

0RA-00907: missing right parenthesis

哪裏是我的錯?

回答

4

你不能把ORDER BY放在括號內。在第二個WHERE子句之後,將其移至上一行的末尾。

+0

此外,「不在」語句不能用於「選擇」語句返回多個字段的權利? – cubitouch

+1

也是如此。我在子查詢中錯過了t.time。 – BBlake

2

那麼,您不能在該子選擇中返回兩列(因爲您想將其與embg字段進行比較)。另外,你不關心子選擇的順序。試試這樣的代替,

select o.embg from objekti o where o.embg not in (select s.embg from 
    sopstvenici s,tipovi t where o.embg=s.embg and 
    o.tid=t.tid and t.time='Куќа') 
order by o.embg