2016-06-12 8 views
0

Ich habe tabelle1:INNER JOIN funktioniert nicht mit Primary Key

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

und table2:

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

some_number die gleiche wie table2.ID ist. Ich möchte Ausgabe erhalten wie: table1.ID, table1.some_text, table2.name und es sollte wie mit Code gehen:

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

Ausgang ist leer in diesem Fall, aber wenn ich table2.id ändern zu table2.some_number in der letzten Zeile liefert es mir ein gutes Ergebnis. Dieses Problem kommt mit allen Tabellenkombination, die ich mit INNER JOIN auf Primärschlüssel versuchte.

Bitte helfen Sie mir Jungs.

+1

Bitte zeigen Sie Ihre vollständige DDL, Eingabe Tabelle Werte, erwartete Ausgabe und tatsächliche Ausgabe für Ihre zwei Abfragen. Lies über [mcve] s. – philipxy

+0

Originalcode spielt keine Rolle. Ich habe ein einfacheres Beispiel für das gleiche Problem geschrieben - die meisten Namen und Variablen in meinem Code sind in meiner Landessprache und für die internationale Gemeinschaft wäre es hier schwer zu lesen. –

+1

Niemand fragte nach dem ursprünglichen Code. Wir wollen die Daten sehen. –

Antwort

-1

Dies ist nicht genau Problemlösung, aber ich habe meine Datenbank von SQLite zu Apache Derby geändert, und der gleiche Code funktioniert perfekt.