我正在尝试创建具有以下结果的 View 。我可以很好地创建第一部分,但第二部分是我遇到麻烦的地方。当我进行连接时,我收到错误代码:1052。字段列表中的列“customer_id”不明确。现在我知道在两个表中我有重复的列。
我的问题是如何编写 View 来忽略重复列之一
创建一个名为 customer_addresses 的 View ,显示每个客户的送货地址和帐单地址。此 View 应从“客户”表返回这些列:
customer_id
email_address
last_name
first_name.
此 View 应返回地址表中的这些列:
bill_line1
bill_line2
bill_city
bill_state
bill_zip
ship_line1
ship_line2
ship_city
ship_state
ship_zip
此 View 中的行应先按姓氏列排序,然后按名字列排序。
这是我的代码。
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
最佳答案
我会像这样识别所有列:
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
因为我相信您的 customers
表中有一个 customer_id
,addresses
表中有一个。对吗?
如果您不指定表名,并向与 View 中列名相同的表之一添加一列,则会再次出现问题。
关于mysql - 创建具有相同列的两个表的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19397652/