2013-09-24 98 views
0

的子查詢我有一個問題,同時從外部查詢訪問來自外部查詢值內查詢

 SELECT y.task_id,y.R,y.location_id, 

     (SELECT COLUMN_VALUE FROM (

      SELECT ROWNUM R, B.* FROM TABLE( 

      SELECT VALUE FROM 

      DATASET WHERE R=1) B) WHERE R =1) AS latitude, 

     (SELECT COLUMN_VALUE FROM (

      SELECT ROWNUM R, A.* FROM TABLE(

      SELECT VALUE FROM 

      DATASET WHERE R =y.R) A) WHERE R =2) AS longitude 

    FROM DATASET y 

訪問數據,同時執行此我有這樣的錯誤

ORA-06553: PLS-306: wrong number or types of arguments in call to 'OGC_Y'

但如果我刪除WHERE R =y.R,那麼它會給出一些輸出。我不知道這個問題

+0

[爲什麼我的oracle語句在Windows數據庫上的運行方式與Linux不同?](http://stackoverflow.com/questions/13748795/why-does-my-oracle-statement-run-differently-on-一個窗口 - 數據庫比Linux的) –

回答

0

使用With子句?

隨着緯度(SELECT COLUMN_VALUE FROM(

 SELECT ROWNUM R, B.* FROM TABLE( 

     SELECT VALUE FROM 

     DATASET WHERE R=1) B) WHERE R =1), 
longitude as (SELECT COLUMN_VALUE FROM (

     SELECT ROWNUM R, A.* FROM TABLE(

     SELECT VALUE FROM 

     DATASET WHERE R =y.R) A) WHERE R =2 

) SELECT y.task_id,YR,y.location_id,lat.column_value,lon.column_value FROM數據集Y,緯度緯度,經度LON