私はoracle 10gデザイナとsqlplusを使用してデータベースシステムで作業しています 作成しなければならない複数のクエリがありますが、ほとんどは簡単ですが、sqlplusの複数の重複行
実行時に、実際には17行のデータを返す必要がある場合、204行のデータが返されるというクエリがあります。行は12x回繰り返しているようです。私はこの周りに私の頭を包むことはできません。それは数時間です。私は自分のコード、クエリの外観(scs形式)、ERD、結果のスクリーンショット、およびEXPLAIN PLAY TABLEの出力のスクリーンショットを提出しています。繰り返し行は、最後の10列の結果です。
誰でも手助けできますか?
COLUMN C_FNAME FORMAT A10
COLUMN C_LNAME FORMAT A10
COLUMN C_ORG FORMAT A35
COLUMN C_ADR FORMAT A35
COLUMN C_CNUM FORMAT 9999999
COLUMN E_ID FORMAT A7
COLUMN E_NAME FORMAT A35
COLUMN E_FTIME FORMAT A21
COLUMN E_STIME FORMAT A21
COLUMN ET_DESC FORMAT 10
COLUMN V_NAME FORMAT A30
COLUMN V_ADDRESS FORMAT A35
COLUMN V_CNUM FORMAT 9999999
COLUMN D_DESC FORMAT A30
COLUMN D_AMT FORMAT A3
COLUMN ST_DESC FORMAT A15
COLUMN S_FNAME FORMAT A15
COLUMN S_LNAME FORMAT A15
COLUMN EQ_TYPE FORMAT A15
COLUMN EQ_DESC FORMAT A15
COLUMN EQ_AMT FORMAT A3
COLUMN SU_NAME FORMAT A40
BREAK ON C_FNAME ON C_LNAME ON C_ORG ON C_ADR ON C_CNUM ON E_ID ON E_NAME ON E_STIME ON E_FTIME ON ET_DESC ON V_NAME ON V_ADDRESS ON V_CNUM ON D_DESC ON D_AMT ON EQ_TYPE ON EQ_DESC ON EQ_AMT ON SU_NAME
SELECT C_FNAME, C_LNAME, C_ORG, C_ADR, C_CNUM, E_ID, E_NAME, E_FTIME, E_STIME, ET_DESC, V_NAME, V_ADDRESS, V_CNUM, D_DESC, D_AMT, ST_DESC, S_FNAME, S_LNAME, EQ_TYPE, EQ_DESC, EQ_AMT, SU_NAME
FROM CUSTOMER, EVENTTYPE, STAFFTYPE, VENUE, EVENT, STAFF, EVENT_DISHES, EVENT_EQUIPMENT, EVENT_STAFF, DISHES, EQUIPMENT, SUPPLIER
WHERE E_ID ='E000001'
AND CUSTOMER.C_ID = EVENT.C_C_ID
AND EVENTTYPE.ET_ID = EVENT.ET_ET_ID
AND VENUE.V_ID = EVENT.V_V_ID
AND EVENT_DISHES.E_E_ID = EVENT.E_ID
AND EVENT_DISHES.D_D_ID = DISHES.D_ID
AND EVENT_EQUIPMENT.E_E_ID = EVENT.E_ID
AND EVENT_EQUIPMENT.EQ_EQ_ID = EQUIPMENT.EQ_ID
AND EQUIPMENT.SU_SU_ID = SUPPLIER.SU_ID
AND EVENT_STAFF.E_E_ID = EVENT.E_ID
AND EVENT_STAFF.S_S_ID = STAFF.S_ID
AND STAFF.ST_ST_ID = STAFFTYPE.ST_ID;
私はsqlplusをかなり使い慣れています。私は一緒に勉強しています –
実行計画を提供できますか? 'explain plan for'を実行してください。完了すると、 'select * from table(dbms_xplan.display);'を実行してください。あなたの質問に出力を追加してください。 –
おやすみなさい。あなたの応答に感謝します。私は要求された情報を追加しました –