2016-08-04 8 views
-2
CREATE OR REPLACE VIEW SAMPLE_VIEW(MISSION_ID,"ESMP TRACK NO","RFPS TRACK NO","RADAR ID") 
AS 
SELECT ESMP.MISSION_ID,ESMP.TRACK_NO,RFPS.RFPS_TRK_NO, 
     (SELECT RADAR_ID 
     FROM MATCHED_TT_DETAILS TT1 
     WHERE TT1.MISSION_ID = ESMP.MISSION_ID 
      AND TT1.TRACK_NO = ESMP.TRACK_NO) 
FROM ESMP_DETAILS ESMP, 
    RFPS_DETAILS RFPS 
WHERE ESMP.MISSION_ID = RFPS.MISSION_ID 
    AND ESMP.TRACK_NO = RFPS.ESMP_TRACK_NO; 

私は上記のビューを作成しましたが、エラーが発生しています。サブクエリを含む選択クエリでビューを作成する

ESMP_DETAILSテーブル:

MISSION_ID TRACK_NO 
A   4 
B   5 
C   6 

RFPS_DETAILS表:

MISSION_ID  RFPS_TRK_NO 
A    77 
B    88 

MATCHED_TT_DETAILS TABLE:

MISSION_ID   RADAR_ID 
A     5 
A     6 
B     4 

は私がビューに以下のような出力をしたい

MISSION_ID TRACK_NO RFPS_TRK_NO RADAR_ID 
A    4   77   5 
A    4   77   6 
B    5   88   4 
+7

CAPSLOCKはあなたの友達ではありません。叫ぶのをやめてください。あなたがエラーを取得した場合や、なぜ地球上のエラーメッセージを投稿していませんか? – HoneyBadger

+0

エラーがありますか? –

+0

エラーがある:\t ORA-01427:単一行のサブクエリは、複数の行 –

答えて

0

CREATE OR REPLACE VIEW SAMPLE_VIEW("MISSION_ID","ESMP TRACK NO","RFPS TRACK NO","RADAR ID") 
AS 
SELECT mat.mission_id, 
     esmp.track_no, 
     (SELECT rfps.rfps_trk_no FROM rfps_details rfps WHERE rfps.mission_id = mat.mission_id), 
     mat.radar_id 
FROM matched_tt_details mat JOIN esmp_details esmp ON mat.mission_id = esmp.mission_id; 
+0

なぜまだわずか3つのテーブルを結合するのではなく、サブクエリを使用して返しますか?複数の 'rfps_details'行は' mission_id'用があった場合、これはまだエラーでしょう。私はあなたが小さなデータサンプルから、それは常にそうなりますと仮定できるかわかりません。 –

+0

は、私の見解では、私は10個のテーブルと私はルックアップテーブルから取得している列のデータの一部からデータを取得する必要があり、その中で、ほぼ30の列を持っています。 –

0

はこれを試してみてください、これをお試しください...

CREATE OR replace VIEW sample_view 
AS 
    SELECT ESMP.mission_id, 
     ESMP.track_no, 
     RFPS.rfps_trk_no, 
     TT.radar_id 
    FROM esmp_details ESMP, 
     rfps_details RFPS, 
     matched_tt_details TT 
    WHERE ESMP.mission_id = RFPS.mission_id 
     AND RFPS.mission_id = TT.mission_id 
関連する問題