SELECT product_id,time_id,customer_id,promotion_id,store_id,store_sales,store_cost,SUM(unit_sales) total_unit_sales
FROM sales_fact_1997 a
LEFT JOIN product p ON (a.product_id = p.product_id)
group by product_id order by total_unit_sales;
我想知道为什么我会收到错误:
专栏' product_id'在字段列表中是不明确的
我引用的两个表都有一个product_id列。
提前致谢...
答案 0 :(得分:2)
Mysql不知道你想要哪个product_id。您需要在select中的“product_id”列之前使用别名。 ie(假设你想要product_id表单sales_fact_1997),
SELECT a.product_id,time_id,customer_id,promotion_id,store_id,store_sales,store_cost,SUM(unit_sales) total_unit_sales
FROM sales_fact_1997 a
LEFT JOIN product p ON (a.product_id = p.product_id)
group by a.product_id order by total_unit_sales;
答案 1 :(得分:0)
您实际上已回答了自己的问题:
我引用的两个表都有一个product_id列。
因此,您需要在<{1}}列列表中限定哪个。您想要SELECT
还是(可能为null,因为左侧连接)a.product_id
?
注意:是的,您仍需要确定要选择哪一个,即使连接,where或约束将确保所述列名的所有版本具有相同的值。