ссылка на столбец «customer_id» неоднозначна

#sql

Вопрос:

 select
    a.order_line,
    a.product_id,
    a.sales,
    b.customer_name,
    b.age
from sales_2015 as a
inner join customer_20_60 as b
   on a.customer_id = b.customer_id 
order by customer_id;
 

Я получил сообщение об ошибке: ссылка на столбец «customer_id неоднозначна.
Как мне решить эту проблему?

Комментарии:

1. поставьте перед ним префикс a. или b. точно так же, как вы делали это во всех других местах, на которые ссылались в этом столбце.

2. Еще лучше не используйте a и b, используйте значимые псевдонимы, например s и c.

3. У вас действительно есть отдельная таблица продаж на каждый год?!?

Ответ №1:

Это просто означает, что несколько таблиц имеют одно и то же имя столбца, и он не знает, какой из них использовать.

В вашем случае обе sales_2015 customer_20_60 таблицы — и имеют столбец customer_id.

Убедитесь, что вы используете a.customer_id операционную b.customer_id во всех местах. Основываясь на вставленном вами коде, похоже, что единственное место, где этого не хватает, — это предложение order by.