SQL JOIN две таблицы с двумя одинаковыми именами столбцов - PullRequest
1 голос
/ 29 августа 2011

У меня есть две таблицы, к которым я бы хотел присоединиться

Прямо сейчас я просто делаю:

SELECT * FROM (default_insurance) 
JOIN default_profiles ON uid = default_profiles.id 
WHERE `uid` = '1

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

Ответы [ 2 ]

7 голосов
/ 29 августа 2011

Вы всегда можете указать, что именно вам нужно (+ использовать псевдонимы таблиц):

SELECT t1.*, t2.company AS default_insurance_company
FROM default_profiles t1 LEFT JOIN default_insurance t2
ON t1.uid = t2.id
WHERE t1.uid = 1

(пример MySQL)

Выше вернут все столбцы с t1 и дополнительно столбец company с t2, но по вашему результату он будет назван default_insurance_company.

1 голос
/ 29 августа 2011

Автоматически нет.Вам нужно использовать так:

SELECT [all columns that you want], di.company
FROM default_insurance di
JOIN default_profiles dp ON di.uid = dp.id 
WHERE di.uid = '1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...