Я пытаюсь отобразить процент игр, выигранных и сыгранных между двумя выбранными командами, но мне трудно отличить любую из них.
Connection con = DBConnector.connect();
ResultSet rs = con.createStatement().executeQuery("SELECT DISTINCT t1.title AS title1, t2.title AS title2, g.score1, g.score2, g.winner AS winner, g.team1_id AS team1, g.home AS home FROM games g INNER JOIN teams AS t1 ON g.team1_id = t1.id INNER JOIN teams AS t2 ON g.team2_id = t2.id WHERE (t1.title = '"+team1 +"' AND t2.title = '" +team2+ "') OR (t1.title = '"+team2 +"' AND t2.title = '" +team1+ "');");
while(rs.next()){
if(rs.getString("team1").equals(rs.getString("home"))){
if(rs.getInt("winner") == 1){
teamOneWin++;
}else{
teamTwoWin++;
}
}else if(rs.getInt("winner") == 2){
if(rs.getString("team1").equals(rs.getString("home"))){
teamOneWin++;
}else{
teamTwoWin++;
}
}else if(rs.getInt("winner") == 0){
if(rs.getString("team1").equals(rs.getString("home"))){
draw++;
}
}
Я проверяю, равно ли значение team1 в запросе значению домашней команды в запросе. Если они равны, а команда 1 - это значение в столбце победителя, я хочу, чтобы teamOneWin увеличивался. Я определяю победителя 1, победителя 2 и победителя 0 (матч - ничья). Я указываю это, потому что у меня есть значение победителя 3, которое также не играется.
Строка ниже, которую я знаю, некорректна, так как team1 всегда равен домашней команде, но мне нужен способ дифференцировать любую команду и увеличивать правильную по значению победителя.
if(rs.getString("team1").equals(rs.getString("home"))){
Будет ли лучше использовать COUNT в моем SQL?
Вот структура таблицы моего игрового стола:
CREATE TABLE "games" (
"team1_id" integer NOT NULL,
"team2_id" integer NOT NULL,
"home" integer,
"score1" varchar DEFAULT null,
"score2" varchar DEFAULT null,
"winner" integer,
"created_at" DATETIME DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY("team1_id","created_at"),
FOREIGN KEY("team1_id") REFERENCES "teams"("id"),
FOREIGN KEY("team2_id") REFERENCES "teams"("id")
);
А вот структура таблицы команд моих столов:
CREATE TABLE "teams" (
"id" integer NOT NULL PRIMARY KEY AUTOINCREMENT,
"title" varchar NOT NULL,
"code" varchar,
"synonyms" varchar,
"address" varchar,
"web" varchar,
"created_at" DATETIME DEFAULT CURRENT_TIMESTAMP
);
Большое спасибо.