2017-07-10 9 views
0

SQLの部分文字列の結果にテーブルを結合する際に問題があります。あなたがあなたの状態から一部as "End Reading"を削除しても、適切なANSIスタイルにJOIN構文を使用することを検討すべきであることを除いてSQLの部分文字列へのテーブルへの結合

SELECT a.MEASR_COMP_ID 
    , f.D1_USAGE_ID 
    , f.SCH_SELECTION_DT 
    , g.MEASR_COMP_ID 
    , g.MSRMT_VAL 
    , i.USAGE_ID 
    , SUBSTR(dbms_lob.substr(i.USG_DATA_AREA, 4000, 1) 
       ,INSTR(dbms_lob.substr(i.USG_DATA_AREA, 4000, 1) 
       ,'<startReading>') + LENGTH('<startReading>'), 8) 
      "Start Reading" 
    , SUBSTR(dbms_lob.substr(i.USG_DATA_AREA, 4000, 1) 
    , INSTR(dbms_lob.substr(i.USG_DATA_AREA, 4000, 1) 
    , '<endReading>') + LENGTH('<endReading>'), 8) as "End Reading" 
FROM C1_USAGE I 
    , [email protected] f 
    , [email protected] g 
    , [email protected] a 
WHERE f.USG_EXT_ID = i.USAGE_ID AND 
     f.D1_USAGE_ID = a.D1_USAGE_ID AND 
     a.MEASR_COMP_ID = g.MEASR_COMP_ID AND 
     i.USAGE_ID = '119993413555' AND 
     SUBSTR(dbms_lob.substr(i.USG_DATA_AREA, 4000, 1) 
      ,INSTR(dbms_lob.substr(i.USG_DATA_AREA, 4000 
      ,1), '<endReading>') + LENGTH('<endReading>'), 8) 
      as "End Reading" = g.MSRMT.VAL 
+3

困惑:ここ

は私の文です?エラーメッセージが表示されましたか?結果は何でしたか?あなたはどんな結果を期待していますか? –

+1

古い暗黙的な結合ではなく、現代的な明示的な結合構文を使用することを推奨します。それはあなたが直面しているあらゆる問題を解決するかもしれません。 – Degan

+0

エイリアスは 'Where'節に属しません。ラフルは以下のように述べている。 –

答えて

1

は、それは問題ないはずはなく、これは問題は何構文

関連する問題