B
Basti909851
Ambitioniertes Mitglied
- 4
Hallo Community,
ich wende mich nochmal an Euch. Ich experementiere nun seit ein paar Tagen mit dem Quellcode rum und kriege es einfach nicht auf die Reihe... Ich habe folgende Tabellenstruktur:
Nun möchte ich aus diesen Tabellen jeweils fünf zufällige Datensätze auslesen. Dazu hatte ich mir folgendes Statement einfallen lassen:
Und wollte dies mir der rawQuery() Methode absetzen. Allerdings scheint es mir, dass Android die öffnende Klammer am Anfang des Queries nicht akzeptiert. Wenn ich die Klammern weglasse, klappt das mit den Limits nicht mehr und wenn ich das Limit ans Ende setze, wendet er es natürlich auf das UNION-Result an, was ich auch nicht will. Dann stieß ich auf die buildUnionQuery() Methode. Dort scheint es mit meinen Limits aber auch nicht zu klappen, oder übersehe ich da was?
Hat da jemand eine Lösung? Oder gehe ich völlig falsch an das Problem heran?
ich wende mich nochmal an Euch. Ich experementiere nun seit ein paar Tagen mit dem Quellcode rum und kriege es einfach nicht auf die Reihe... Ich habe folgende Tabellenstruktur:
Code:
CREATE TABLE questions_light (_questionid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, question_mark TEXT, right_answer TINYINT, answer1 TEXT, answer2 TEXT, answer3 TEXT, answer4 TEXT);
CREATE TABLE questions_medium (_questionid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, question_mark TEXT, right_answer TINYINT, answer1 TEXT, answer2 TEXT, answer3 TEXT, answer4 TEXT);
CREATE TABLE questions_hard (_questionid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, question_mark TEXT, right_answer TINYINT, answer1 TEXT, answer2 TEXT, answer3 TEXT, answer4 TEXT);
Nun möchte ich aus diesen Tabellen jeweils fünf zufällige Datensätze auslesen. Dazu hatte ich mir folgendes Statement einfallen lassen:
Code:
(SELECT * FROM questions_light ORDER BY RAND() LIMIT 5)
UNION
(SELECT * FROM questions_medium ORDER BY RAND() LIMIT 5)
UNION
(SELECT * FROM questions_hard ORDER BY RAND() LIMIT 5);
Und wollte dies mir der rawQuery() Methode absetzen. Allerdings scheint es mir, dass Android die öffnende Klammer am Anfang des Queries nicht akzeptiert. Wenn ich die Klammern weglasse, klappt das mit den Limits nicht mehr und wenn ich das Limit ans Ende setze, wendet er es natürlich auf das UNION-Result an, was ich auch nicht will. Dann stieß ich auf die buildUnionQuery() Methode. Dort scheint es mit meinen Limits aber auch nicht zu klappen, oder übersehe ich da was?
Hat da jemand eine Lösung? Oder gehe ich völlig falsch an das Problem heran?