2016-06-12 2 views
0

Я имею table1:INNER JOIN не работает с первичным ключом

ID INTEGER PRIMARY KEY AUTOINCREMENT, 
NAME_ID - INTEGER REFERENCES table2(ID), 
SOME_TEXT TEXT NOT NULL; 

и table2:

ID INTEGER PRIMARY KEY AUTOINCREMENT, 
NAME TEXT NOT NULL, 
SOME_NUMBER INTEGER; 

SOME_NUMBER такой же, как table2.id. Я хотел бы получить выход как: table1.ID, table1.some_text, table2.name и он должен идти с кодом, как:

 ResultSet rs = stmt.executeQuery("SELECT table1.id, table1.some_text, table2.name " 
      + "FROM table1 " 
      + "INNER JOIN table2 ON table1.name_id = table2.id;"); 

Выход пуст в этом случае, но если я изменить table2.id to table2.some_number в последней строке это дает мне хороший результат. Эта проблема связана со всеми комбинациями таблиц, которые я пытался использовать с INNER JOIN на основном ключе.

Пожалуйста, помогите мне, ребята.

+1

Просьба показать ваши полные значения DDL, значения входных таблиц, ожидаемый результат и фактический результат для ваших двух запросов. Читайте о [mcve] s. – philipxy

+0

Исходный код не имеет значения. Я опубликовал более простой пример той же проблемы - большинство имен и переменных в моем коде находятся на моем национальном языке, и здесь международное сообщество будет трудно читать. –

+1

Никто не спрашивал оригинальный код. Мы хотим видеть данные. –

ответ

-1

Это не совсем проблема сольватации, но я сменил мою базу данных с SQLite на Apache Derby, и тот же код работает отлично.

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