неоднозначная ошибка столбца при объединении двух таблиц с одинаковым именем столбца - PullRequest
4 голосов
/ 17 августа 2011

в моей таблице A {ID, FID, Name, Age}
в моей таблице B {ID, Job}

Когда я использую

SELECT ID // I want to get the ID of table B //**error**//
FROM A TA JOIN B TB
ON TA.ID = TB.FID
ORDER BY TA.Name;

Ошибка : идентификатор неоднозначного имени столбца

Есть ли способ сделать это без переименования имени столбца? (Худший сценарий)
Спасибо

Ответы [ 3 ]

6 голосов
/ 17 августа 2011
SELECT TB.ID
FROM A TA JOIN B TB
ON TA.ID = TB.FID
ORDER BY TA.Name;

Используйте полное имя (имя таблицы и имя столбца, разделенные точкой), чтобы специально выбрать столбец.

Ваш запрос не соответствует описанной структуре таблицы, я полагаю, вы поменяли местами таблицу Aсо столом Б.

5 голосов
/ 17 августа 2011
SELECT TB.ID  ...

Вам необходимо поставить префикс любого неоднозначного столбца в любом месте с псевдонимом таблицы.

0 голосов
/ 17 августа 2011

вам не нужно ничего переименовывать.вам просто нужно указать источник неоднозначного поля в предложении SELECT, так как такое поле существует в обоих источниках (таблицах)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...