2015-08-17 2 views
0

SQL rookie здесь.mysql внутреннее соединение не работает правильно

Я пытаюсь получить название organisationtype из моей БД, которая связана с определенной компанией.

Организация имеет идентификатор Organisations_organisationtypes имеет organisation_id и А organisationtype_id Organisationtypes имеет organisationtype_id и имя типа.

В настоящее время я пытаюсь сделать 2 внутренних соединения, чтобы добраться туда.

Этот шаг работает отлично:

select organisations.name, organisations_organisationtypes.organisationtype_id 
from organisations 
inner join organisations_organisationtypes 
on   
organisations.juridicalform_id=organisations_organisationtypes.organisationtype_id; 

Это дает мне список НАЗВАНИЕ КОМПАНИИ - Organisationtype_id

До сих пор так хорошо.

Теперь мне нужно получить соответствующее имя для organisationtype_id, так что я добавил следующее:

inner join organisationtypes 
on organisations_organisationtypes.organisationtype_id=organisationtypes.id 

и изменил первую строку, чтобы показать мне имя, полное утверждение теперь:

select organisations.name, organisations_organisationtypes.organisationtype_id, organisationtypes.name 
from organisations 
inner join organisations_organisationtypes 
on organisations.juridicalform_id=organisations_organisationtypes.organisationtype_id; 
inner join organisationtypes 
on organisations_organisationtypes.organisationtype_id=organisationtypes.id 

Это дает мне следующие ошибки:

[ERROR in query 1] Unknown column 'organisationtypes.name' in 'field list' 
[ERROR in query 2] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'inner join organisationtypes 
on organisations_organisationtypes.organisationtype' at line 1 
+1

a запятая, а не период, idk – Drew

ответ

4

ли вы заметили ; в нижней строке, поэтому ошибка

on organisations.juridicalform_id=organisations_organisationtypes.organisationtype_id; 
                        ^....Here 
inner join organisationtypes 
+0

Спасибо. Я официально слепой. Это вернуло мне правильный список, с большим количеством парных разрядов. Выберите отдельную решённую вторую проблему. –

+1

Это должен быть отдельный вопрос; Кстати, почему бы просто не использовать оператор DISTINCT для удаления дубликатов. – Rahul

Смежные вопросы