使用具有相同列的两个表创建视图

时间:2013-10-16 07:36:33

标签: mysql

我正在尝试使用以下结果创建视图。我可以创建第一部分就好了,但第二部分是我遇到麻烦的地方。当我进行连接时,我收到错误代码:1052。字段列表中的列'customer_id'不明确。现在我知道在两个表中我有重复的列。

我的问题是如何编写视图以忽略其中一个重复的列

创建名为customer_addresses的视图,其中显示每个客户的送货地址和帐单地址。此视图应从Customers表中返回这些列:

customer_id
email_address
last_name
first_name.

此视图应从地址表中返回这些列:

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

1 个答案:

答案 0 :(得分: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

因为我相信customer_id表中有customersaddresses表中有{{1}}。正确?

如果未指定表名并将列添加到其中一个具有与视图中相同列名的表中,则会再次出现问题。