0

次の結果のビューを作成しようとしています。最初の部分は問題なく作成できますが、2 番目の部分で問題が発生します。結合を行うと、エラー コード 1052 が表示されます。フィールド リストの列 'customer_id' があいまいです。これで、2 つのテーブルに重複した列があることがわかりました。

私の質問は、重複する列の 1 つを無視するようにビューを作成する方法です。

各顧客の配送先住所と請求先住所を表示する、customer_addresses という名前のビューを作成します。このビューは、Customers テーブルから次の列を返す必要があります。

customer_id
email_address
last_name
first_name.

このビューは、Addresses テーブルから次の列を返す必要があります。

bill_line1
bill_line2
bill_city
bill_state
bill_zip
ship_line1
ship_line2
ship_city
ship_state
ship_zip

このビューの行は、last_name 列、次に first_name 列でソートする必要があります。

これが私のコードです。

 CREATE OR REPLACE VIEW customer_addresses
 AS
 SELECT customer_id, email_address, last_name, first_name, addresses.line1
 FROM  customers JOIN addresses
 ORDER BY last_name
4

1 に答える 1

0

次のようにすべての列を識別します。

CREATE OR REPLACE VIEW customer_addresses
 AS
 SELECT 
    customers.customer_id, 
    customers.email_address, 
    customers.last_name, 
    customers.first_name, 
    addresses.line1
 FROM  customers JOIN addresses
 ORDER BY customers.last_name

私はあなたがテーブルに1つ、テーブルに1つcustomer_idあると信じているからです. 右?customersaddresses

テーブル名を指定せずに、ビューと同じ列名を持つテーブルの 1 つに列を追加すると、問題が再び発生します。

于 2013-10-16T07:42:47.910 に答える