Я пытаюсь создать представление из присоединения некоторых таблиц (в MySQL) из базы данных Sakila (https://dev.mysql.com/doc/sakila/en/), а именно: хочу присоединиться к оплате, персоналу и клиенту и отобразите имя клиента, имя сотрудника, идентификатор платежа и сумму. Я щелкнул правой кнопкой мыши на представлениях, а затем создал таблицу. Я думаю, что эта ошибка существует из-за того, что в таблице сотрудников и в таблице клиентов есть оба столбца с именем first_name и last_name. Как я могу решить эту проблему?Как решить ERROR 1060: Дублировать имя столбца с помощью Views -> Create View
Моего код:
CREATE VIEW `payment` AS
SELECT payment.payment_id, customer.first_name, customer.last_name,
staff.first_name, staff.last_name, payment.amount
FROM payment INNER JOIN customer ON payment.customer_ID = customer.customer_ID
INNER JOIN staff ON payment.staff_ID = staff.staff_ID
Сообщение об ошибке: ОШИБКА 1060: Повторяющегося имя столбца «first_name»
Если я пытаюсь его с псевдонимами, так как некоторые из отвечающих предложили, я получаю ошибку ОШИБКА 1347: «sakila.payment» не ПРОСМОТРЕТЬ.
Точный же код работает как шарм в SQL-файле, когда я его запускаю, он создает нужную мне таблицу. В чем разница между этими двумя методами? Какой из них я должен использовать? И почему он не работал с опцией Views -> Create View?
Заранее спасибо.
вы не получите сообщение об ошибке, указанное в списке соединений, которое вы показываете здесь, так как вы определили, какой столбец first_name вы хотите определить, указав его из таблицы клиентов. Возможно, в вашем фактическом соединении вы не указали таблицу. – Niagaradad
попробуйте SELECT payment.payment_id, customer.first_name как customer_firstname, customer.last_name as customer_last_name ... и т. Д. ... другими словами, добавьте псевдоним к тем же именам столбцов ... – barudo
@Niagaradad, я указал таблицу в действительном соединении –