2012-02-24 3 views
1

Запрос:ошибка при соединении 2 таблицы

select i.Name,ri.Country,ri.State,ri.City 
from Information as i 
join ResidenceInformation as ri 
order by Name 

ошибка, что я получаю:

Error code -1, SQL state 42X01: Syntax error: Encountered "order" at line 4, column 5. 
Line 1, column 1 

Execution finished after 0 s, 1 error(s) occurred. 

Почему я получаю сообщение об ошибке?

+0

derbi, который поставляется с netbeans –

ответ

4

Ошибка в том, что вы забыли указать РЕГИСТРИРУЙТЕСЬ критерии, например:

SELECT i.Name, ri.Country, ri.State, ri.City 
    FROM Information as i 
    JOIN ResidenceInformation as ri ON ri.column = i.column 
ORDER BY Name 

Вы должны заменить column с именами соответствующих столбцов, которые связывают таблицы правильно для выхода вам нужно.

Вы должны также указать псевдоним таблицы в своем ORDER BY, чтобы защитить от неоднозначной ошибки ссылки на столбец.

1

Вы получите ошибку, потому что ваш синтаксис не так: после того, как join там должно быть on, как это:

select i.Name,ri.Country,ri.State,ri.City 
from Information as i 
join ResidenceInformation as ri 
    on ri.info_id=i.id -- <<< Added a join condition 
order by Name 

SQL должен знать, как «связать» строки таблицы, которые вы присоединение к строке (-ам) другой таблицы (таблиц) в запросе. Я предполагаю, что ResidenceInformation имеет внешний ключ в Information под названием info_id.

Если Name присутствует в какResidenceInformation и Information, вам нужно указать префикс с именем таблицы или псевдонима. На самом деле, это хорошая идея сделать это в любом случае для дополнительной ясности.

0

Я думаю, что вы, возможно, забыли указать условие соединения, с которыми столбики будут объединены. Вам нужно сообщить базе данных, как эти 2 таблицы соединяются друг с другом. Что-то вроде ON i.id = ri.InformationId

select i.Name,ri.Country,ri.State,ri.City 
from Information as i 
join ResidenceInformation as ri ON i.id = ri.InformationId 
order by i.Name 

Кроме того, вам может понадобиться псевдоним таблицы в предложении order by, который я добавил, а также.

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