2016-07-02 5 views
0

Ich habe folgendeerhalte ich eine Nachricht von android.database.sqlite.SQLiteException: in der Nähe von "=": Syntaxfehler (Code 1):

String selectQuery = "SELECT t_id,created_at,csurname,servicename FROM " + TABLE_TASKS 
      + " INNER JOIN customers ON c_id = c_id " + " INNER JOIN s_id = s_id"; 

wo ich falsch bin?

+0

Die zweite innere join ist ein Tabellenname fehlt und wenn Ihre Spaltennamen identisch sind Sie Tabelle müssen Aliasnamen, dh 'Kunden c on c_id = c.c_id' –

+0

Sie haben Recht mit der fehlenden Tabelle, aber stattdessen near = sagt near. Es gibt einen Fehler –

+0

Versuchen Sie 'SELECT t_id, created_at, csurname, Servicename FROM Aufgaben t innere Join Kunden c auf t.c_id = c.c_id' - Ich habe nicht genug Informationen, um Ihren zweiten inneren Beitritt zu beheben –

Antwort

0

vergessen Sie den dritten Tabellenname:

INNER JOIN s_id = s_id 
     ^YourThirdTable ON 

Und wie giannisf erwähnt, c_id und s_id wird ohne Angabe des Tabellennamens mehrdeutig sein. Doch mit der gleichen Spaltennamen in beiden Tabellen können Sie die USING-Klausel statt:

SELECT t_id,created_at,csurname,servicename 
FROM Tasks 
INNER JOIN customers USING (c_id) 
INNER JOIN YourThirdTable USING (s_id); 
0

Sie benötigen Tabellenbezeichner.

das as Schlüsselwort verwenden, um die TABLE_TASKS Tabelle zu benennen und dann auf JOIN Verwendung dieses Namens

Beispiel:

tasks.c_id = other_table.c_id;

Verwandte Themen