3

以下のコードを実行した後、ORA-25155エラーが発生します

SELECT p.prod_id, prod_name, prod_list_price,quantity_sold,cust_last_name
FROM products p NATURAL JOIN sales s NATURAL JOIN customer c
WHERE prod_id = 148;
4

2 に答える 2

5

コメントで示唆されているように、このORA-25155エラーは、「prod_id」だけでなく「p.prod_id」という列名を修飾していることを示しています。それがあなたのエラーを引き起こしているものです。

この完全に機能するSQLFiddleコードを試してください。クエリは次のようになります。

SELECT prod_id, prod_name, prod_list_price,quantity_sold,cust_last_name
  FROM products
       NATURAL JOIN sales
       NATURAL JOIN customer
 WHERE prod_id = 148;

複数のNATURAL JOINテーブルが1組のテーブルを結合し、次に3番目のテーブルを結果に結合します。NATURAL JOIN構文には明示的な結合述語がないため、ここでは修飾子は使用されません。

于 2013-02-25T15:05:38.163 に答える
2

natural joinOracleでは、共通の名前を持つ各テーブルの列で2つのテーブルを結合します。したがって、結合後は、エイリアスが冗長であるため、エイリアスと自然に結合されたテーブル間で共通の列を参照しないでください。

using()これは、join句で機能する方法と似ています。

于 2013-02-25T15:20:31.067 に答える