INNER JOIN不适用于主键

时间:2016-06-12 08:57:49

标签: sqlite inner-join primary-key

我有table1:

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更改为table2.some_number,它会为我提供一个好结果。 我在主键上尝试使用INNER JOIN的所有表组合都会出现此问题。

请帮帮我们。

1 个答案:

答案 0 :(得分:-1)

这不是问题解决方案,但我将数据库从SQLite更改为Apache Derby,并且相同的代码完美无缺。