2017-04-05 47 views
0

雖然我找到了一些相關問題,在#1:ORA-00936:缺少表達 - 甲骨文

ORA-00936: missing expression oracle

ORA-00936: missing expression Oracle Apex

但這些不適合我的問題:

(SELECT t_1.oi1name OI1NAME 
FROM (select oi1.name oi1name, oi.name oname, b.prodesc, b.foundtime, b.occurrencetime, b.divisionproject, b.pilenumber, b.constructionteam, b.progress, h.pk_group 
from zspm_qa_monthlyreport_b b 
left outer join zspm_qa_monthlyreport_h h on b.pk_monthlyreport_h = h.pk_monthlyreport_h 
left outer join org_itemorg oi on oi.pk_itemorg = h.pk_org 
left outer join org_itemorg oi1 on oi1.pk_itemorg = oi.pk_fatherorg 
where h.dr = 0 and h.billstatus = 1 and b.dr = 0 
and oi.code like CONCAT ((select code from org_itemorg where pk_itemorg in()), '%') and h.def1 = '2016-01') t_1 
WHERE t_1.pk_group = '0001A2100000000007QL') 

這是我查詢的sql代碼,但我不知道問題在哪裏。

回答

0

in列表爲空。我不認爲這是允許的。

更重要的是,你可能想要這個邏輯:

where . . . and 
     exists (select 1 
       from org_itemorg oio 
       where pk_itemorg in (. . .) and 
        oi.code like oio.code || '%' 
      ) and 
     h.def1 = '2016-01' 

你的子查詢可以返回多行,當您運行查詢這將是一個問題。