select * from (
select classname,ccacode ,ccaname from nc6501.XGT_RCB_factor_material m where
m.materialcode in
(SELECT code FROM nc6501. bd_marbasclass c START WITH c.pk_marbasclass ='1001A110000000000UZH'
CONNECT BY PRIOR c.pk_parent = c.pk_marbasclass ) ) a
where ccacode in ( select trim ( ccacode ) from nc6501.XGT_RCB_CCADEP where depcode in ('20200') )
如圖,遞回后,ccacode 如果直接指定值,是可以查詢出結果的,但是如果是in的子查詢,就不出值,是為什么呀?



uj5u.com熱心網友回復:
你把trim ( ccacode ) to_char一下,再加個別名uj5u.com熱心網友回復:
兩邊都加上trim,全部加上正確的表別名uj5u.com熱心網友回復:
SELECT code FROM nc6501. bd_marbasclass c START WITH c.pk_marbasclass ='1001A110000000000UZH'CONNECT BY PRIOR c.pk_parent = c.pk_marbasclass ) ) a
where ccacode in ( select trim ( ccacode ) from nc6501.XGT_RCB_CCADEP where depcode in ('20200')
這句應該會回傳空, 原因應該是 nc6501. bd_marbasclass 表的 c.pk_marbasclass ='1001A110000000000UZH' 的條件里沒有 nc6501.XGT_RCB_CCADEP. depcode in ('20200') 的記錄
uj5u.com熱心網友回復:
nc6501.XGT_RCB_CCADEP的ccacode是CHAR還是VARCHAR?我估計是CHAR導致了這種問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/14692.html
標籤:基礎和管理
