Ken Masters
Lt. Junior Grade
- Registriert
- Dez. 2006
- Beiträge
- 334
Hallo allerseits,
ich komme gerade mit einer Anweisung nicht weiter. Und zwar habe ich eine folgende Tabelle
ID | Name | Betrag | Grund | IconId | waehrung
Die Datenbank kann mehrere Einträge einer gleichen Person beinhalten (bezogen auf den Namen, beispiel: Eine Person namens Müller hat 5 Einträge, dann gibt es noch andere namen die aber nur einmal vorkommen). Nun habe ich eine Anweisung, welche alle Einträge einer person, indem fall jetzt müller ausgeben soll. die sieht folgendermaßen aus:
Anweisung 1:
SELECT _id, " + KEY_DATUM + " as d, " + KEY_BETRAG + " as b, " + KEY_WAEHRUNG + " as w FROM " + DATABASE_TABLE1 + " where TRIM(" + KEY_NAME + ") = (SELECT TRIM(" + KEY_NAME + ") FROM " + DATABASE_TABLE1 + "
where " + KEY_ID + "=" + person + " ORDER BY datum ASC)"
Ich muss noch erwähnen einige einträge von müller auch klein/groß geschrieben sind bzw. leerzeichen enthalten (daher TRIM). Diese anweisung funktioniert auch.
Nun möchte ich aber nur die spalte währung von der Anweisung 1 haben. Habe dann daher folgende Anweisung 2 kreiert:
SELECT waehrung FROM (Anweisung 1) WHERE " + KEY_WAEHRUNG + " = '" + waehrung + "'";
Bekomme am ende folgende fehlermeldung:
was genau mache ich den falsch, dass es keine spalte währung existiert!??
Danke im voraus für die hilfestellungen und tipps
ich komme gerade mit einer Anweisung nicht weiter. Und zwar habe ich eine folgende Tabelle
ID | Name | Betrag | Grund | IconId | waehrung
Die Datenbank kann mehrere Einträge einer gleichen Person beinhalten (bezogen auf den Namen, beispiel: Eine Person namens Müller hat 5 Einträge, dann gibt es noch andere namen die aber nur einmal vorkommen). Nun habe ich eine Anweisung, welche alle Einträge einer person, indem fall jetzt müller ausgeben soll. die sieht folgendermaßen aus:
Anweisung 1:
SELECT _id, " + KEY_DATUM + " as d, " + KEY_BETRAG + " as b, " + KEY_WAEHRUNG + " as w FROM " + DATABASE_TABLE1 + " where TRIM(" + KEY_NAME + ") = (SELECT TRIM(" + KEY_NAME + ") FROM " + DATABASE_TABLE1 + "
where " + KEY_ID + "=" + person + " ORDER BY datum ASC)"
Ich muss noch erwähnen einige einträge von müller auch klein/groß geschrieben sind bzw. leerzeichen enthalten (daher TRIM). Diese anweisung funktioniert auch.
Nun möchte ich aber nur die spalte währung von der Anweisung 1 haben. Habe dann daher folgende Anweisung 2 kreiert:
SELECT waehrung FROM (Anweisung 1) WHERE " + KEY_WAEHRUNG + " = '" + waehrung + "'";
Bekomme am ende folgende fehlermeldung:
Code:
java.lang.RuntimeException: Unable to resume activity ... android.database.sqlite.SQLiteException: no such column: waehrung (code 1): , while compiling: SELECT waehrung FROM(SELECT _id, datum as d, betrag as b, waehrung as w FROM debtorTable where TRIM(name) = (SELECT TRIM(name) FROM debtorTable where _id=1 ORDER BY datum ASC)) WHERE waehrung = 'EUR'
was genau mache ich den falsch, dass es keine spalte währung existiert!??
Danke im voraus für die hilfestellungen und tipps