SQL ВНУТРЕННЕЕ СОЕДИНЕНИЕ повторяющихся столбцов

#sql #database #inner-join

#sql #База данных #внутреннее соединение

Вопрос:

Я пытаюсь вернуть некоторые столбцы из 2 таблиц, которые совместно используют столбец ID, используя следующую систему запросов к базе данных браузера, которая считывает данные из таблиц, показанных на этой веб-странице. Я считаю, что способ сделать это — использовать INNER JOIN (например, см. Это руководство).

 SELECT  sami_dr2.DR2Sample.CATID,
        sami_dr2.DR2Sample.Mstar,
        sami_dr2.StellarKinematics.PA_STELKIN
FROM    sami_dr2.DR2Sample INNER JOIN sami_dr2.StellarKinematics
ON      sami_dr2.DR2Sample.CATID = sami_dr2.StellarKinematics.CATID;
 

Однако, когда я запускаю этот запрос, я получаю сообщение об ошибке:

sql: повторяющиеся столбцы не поддерживаются. Попробуйте использовать псевдоним для этих столбцов в предложении SELECT, например, ВЫБЕРИТЕ t1.CATAID, t2.CATAID становится SELECT t1.CATAID как t1_CATAID, t2.CATAID как t2_CATAID

Но, насколько я знаю, весь смысл использования INNER JOIN заключается в удалении дубликатов, поскольку я не возвращаюсь sami_dr2.StellarKinematics.CATID только в свою выходную таблицу sami_dr2.DR2Sample.CATID .

Я также обнаружил, что использование SELECT sami_dr2.DR2Sample.CATID as ID_1, sami_dr2.StellarKinematics.CATID as ID_2 в выборе также не устраняет проблему.

Любая помощь по этому вопросу была бы весьма признательна!

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

1. Какую СУБД вы используете?

2. ЕСТЕСТВЕННОЕ СОЕДИНЕНИЕ и СОЕДИНЕНИЕ, ИСПОЛЬЗУЮЩИЕ оба, удаляют дублированные столбцы, JOIN ON — нет.

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

4. @Brad РАЗЛИЧАЕТСЯ, если для строк .. не для столбцов

5. @user8188120 Удалите имена схем из списка выбора: select DR2Sample.CATID вместо select sami_dr2.DR2Sample.CATID . Или используйте псевдонимы таблиц, они тоже решают проблему