Я использую sql для создания пользовательского запроса ODBC в Excel.SQL-соединения перестают работать, когда определены столбцы таблицы
У меня есть 2 таблицы 'TBL_CONTACT' и 'TBL_ADDRESS', которые я хочу использовать в INNER JOIN на 'contactid', который является столбцом, который существует в обоих.
Это работает отлично, если я выбираю все столбцы, но перестает работать, если я начинаю определять столбцы, которые я хочу показать.
Рабочий код:
SELECT * FROM "TBL_CONTACT" AS CONTACT
INNER JOIN (SELECT * FROM "TBL_ADDRESS" AS ADDRESS) ADDRESS
ON CONTACT.contactid = ADDRESS.contactid
Неработающий код:
SELECT CONTACT.contactid, CONTACT.fullname FROM "TBL_CONTACT" AS CONTACT
INNER JOIN (SELECT * FROM "TBL_ADDRESS" AS ADDRESS) ADDRESS
ON CONTACT.contactid = ADDRESS.contactid
Это только показывает 'ContactID' и 'FullName' столбцы из 'TBL_CONTACT' и ничего не присоединиться с " TBL_ADDRESS.
Пример:
TBL_CONTACT
contactid firstname fullname
1001 John John Smith
1002 Tom Tom Adams
TBL_ADDRESS
contactid line1 line2 postcode
1001 3 Farm Ln Essex AB1 1BA
1002 1 Tim st Kent CN2 2NC
Желаемый результат:
contactid fullname contactid2 line1 line2 postcode
1001 John Smith 1001 3 Farm Ln Essex AB1 1BA
1002 Tom Adams 1002 1 Tim st Kent CN2 2NC
первый код дает следующий результат:
contactid firstname fullname contactid2 line1 line2 postcode
1001 John John Smith 1001 3 Farm Ln Essex AB1 1BA
1002 Tom Tom Adams 1002 1 Tim st Kent CN2 2NC
второй код дает следующий результат:
contactid fullname
1001 John Smith
1002 Tom Adams
Я довольно новичок в SQL, но не уверен, что я делаю неправильно здесь. Любая помощь будет принята с благодарностью!
Изменить свой вопрос и предоставить образец данных и желаемых результатов. В вашем описании не очень хорошая работа, чтобы передать проблему, особенно потому, что оба запроса работают. –
И записать имена таблиц перед именами полей в инструкции 'SELECT':' SELECT TBL_CONTACT.contactid, TBL_CONTACT.fullname, TBL_ADDRESS.fullname, TBL_ADDRESS.fullname' –
указать имя псевдонима в столбце –