Ich bin ein Neuling in Android-Programmierung und auf der Suche nach Hilfe bei meiner Abfrage. Ich versuche, alle Geräte zu finden, wo die id
eine ausgewählte Mannschaft der Heimmannschaft gleich team_1_id
oder auswärtig team_2_id
Verwenden von OR-Operator mit 2 Platzhaltern mit dem gleichen Wert
ich die folgende Abfrage habe, ist es nur die Ergebnisse zurückkehrt, wo die id
ist team_1_id
und nicht team_2_id
public List <Fixture> getTeamFixtures(int id) {
List <Fixture> fixtureList = new ArrayList <Fixture>();
// Select All Query
String selectQuery = "
SELECT fixtures.id,
fixtures.team_1_id,
fixtures.team_2_id,
fixtures.date,
fixtures.time,
fixtures.pitch,
teams.team_name,
teams_1.team_name AS awayTeam,
leagues.league_name,
leagues.id
FROM fixtures
INNER JOIN teams
ON fixtures.team_1_id = teams.id
INNER JOIN teams AS teams_1
ON fixtures.team_2_id = teams_1.id
INNER JOIN teams_vs_leagues
ON teams.id = teams_vs_leagues.team_id
INNER JOIN leagues
ON teams_vs_leagues.league_id = leagues.id
WHERE fixtures.team_1_id = ?
OR fixtures.team_2_id = ?
";
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, new String[] {
String.valueOf(id)
});
// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
Fixture fixture = new Fixture();
fixture.setId(Integer.parseInt(cursor.getString(0)));
fixture.setTeamId1(Integer.parseInt(cursor.getString(1)));
fixture.setTeamId2(Integer.parseInt(cursor.getString(2)));
fixture.setDate(cursor.getString(3));
fixture.setTime(cursor.getString(4));
fixture.setPitch(cursor.getString(5));
fixture.setTeamName1(cursor.getString(6));
fixture.setTeamName2(cursor.getString(7));
fixture.setLeagueName(cursor.getString(8));
fixture.setLeagueId(Integer.parseInt(cursor.getString(9)));
// Adding team to list
fixtureList.add(fixture);
} while (cursor.moveToNext());
}
// close inserting data from database
db.close();
// return fixturelist
return fixtureList;
}
Immer wenn ich versuche
WHERE fixtures.team_1_id = ?
OR
WHERE fixtures.team_2_id = ?
Die Abfrage gibt die entsprechenden Ergebnisse, aber ich möchte sehen können, ob die id
erscheint in entweder team_1_id
oder team_2_id
jede Hilfe dankbar groß sein würde.
setzen Sie einfach Ihren Wert zweimal in die Parameterliste – njzk2